[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] 197f7151a9207227c30018ecb34ea2bf94b51f27
[INFO] testing Myster987/carcinusdb against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyster987%2Fcarcinusdb" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Myster987/carcinusdb
[INFO] finished tweaking git repo https://github.com/Myster987/carcinusdb
[INFO] tweaked toml for git repo https://github.com/Myster987/carcinusdb written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Myster987/carcinusdb on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "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" "+beta-2026-03-05" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 116 packages to latest Rust 1.95.0-beta.1 compatible versions
[INFO] [stderr]       Adding rand v0.9.2 (available: v0.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 82c475e9049ada6d1904855d7cdbaf662eb4cc042cb205c8edbea634d6f89cda
[INFO] running `Command { std: "docker" "start" "-a" "82c475e9049ada6d1904855d7cdbaf662eb4cc042cb205c8edbea634d6f89cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "82c475e9049ada6d1904855d7cdbaf662eb4cc042cb205c8edbea634d6f89cda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82c475e9049ada6d1904855d7cdbaf662eb4cc042cb205c8edbea634d6f89cda", kill_on_drop: false }`
[INFO] [stdout] 82c475e9049ada6d1904855d7cdbaf662eb4cc042cb205c8edbea634d6f89cda
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 35f31761825f2e3cb19eba0e442563ea57f9aeb82344f3c311d8cab82fa73f36
[INFO] running `Command { std: "docker" "start" "-a" "35f31761825f2e3cb19eba0e442563ea57f9aeb82344f3c311d8cab82fa73f36", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling arc-swap v1.8.2
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling simple_logger v5.2.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling carcinusdb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     loop {
[INFO] [stdout] 75 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 76 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 77 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |       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: `operator`
[INFO] [stdout]    --> src/sql/analyzer.rs:329:38
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]     |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             operator,
[INFO] [stdout]    |             ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/vm/operator/filter.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let left = eval(left, row, schema)?;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/vm/operator/filter.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let right = eval(right, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]    |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/vm/operator/filter.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let value = eval(expr, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]   --> src/vm/planner.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     columns: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r#where`
[INFO] [stdout]   --> src/vm/planner.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     r#where: Option<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_by`
[INFO] [stdout]   --> src/vm/planner.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     order_by: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/sql/parser/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 37 |     input: &'a str,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stdout]    --> src/sql/parser/mod.rs:73:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_row_id` is never used
[INFO] [stdout]    --> src/sql/schema.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl Schema {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn has_row_id(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_high_key` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1326:8
[INFO] [stdout]      |
[INFO] [stdout]  693 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]      | ------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1326 |     fn build_high_key(&mut self, page: &Page, entry: &BTreeKey<'_>) -> storage::Result<BTreeCell> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CellSplit` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1520:6
[INFO] [stdout]      |
[INFO] [stdout] 1520 | type CellSplit = (Option<usize>, Vec<usize>);
[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: field `read_guard` is never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReadTransaction {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     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:402:24
[INFO] [stdout]     |
[INFO] [stdout] 402 |     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] 402 |     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:456:19
[INFO] [stdout]     |
[INFO] [stdout] 456 |     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] 456 |     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:460:23
[INFO] [stdout]     |
[INFO] [stdout] 460 |     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] 460 |     fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     loop {
[INFO] [stdout] 75 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 76 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 77 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |       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: `operator`
[INFO] [stdout]    --> src/sql/analyzer.rs:329:38
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]     |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             operator,
[INFO] [stdout]    |             ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/vm/operator/filter.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let left = eval(left, row, schema)?;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/vm/operator/filter.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let right = eval(right, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]    |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/vm/operator/filter.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let value = eval(expr, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]   --> src/vm/planner.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     columns: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r#where`
[INFO] [stdout]   --> src/vm/planner.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     r#where: Option<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_by`
[INFO] [stdout]   --> src/vm/planner.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     order_by: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARCINUSDB_MASTER_TABLE_ROOT` is never used
[INFO] [stdout]   --> src/database/mod.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const CARCINUSDB_MASTER_TABLE_ROOT: PageNumber = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, `Other`, and `Unknown` are never constructed
[INFO] [stdout]   --> src/database/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     InvalidHostname { msg: String, hostname: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     #[error("provided path is not file: {0}")]
[INFO] [stdout] 36 |     InvalidFilePath(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     #[error("invalid port number: {0}")]
[INFO] [stdout] 38 |     InvalidPort(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 60 |     #[error("unknown database error")]
[INFO] [stdout] 61 |     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: struct `MemDatabaseHeader` is never constructed
[INFO] [stdout]   --> src/database/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct MemDatabaseHeader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `load`, `load_full`, and `swap` are never used
[INFO] [stdout]    --> src/database/mod.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl MemDatabaseHeader {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  93 |     pub fn new(db_header: DatabaseHeader) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn load(&self) -> arc_swap::Guard<Arc<DatabaseHeader>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn load_full(&self) -> Arc<DatabaseHeader> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn swap(&self, new: DatabaseHeader) -> Arc<DatabaseHeader> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Database` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | 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:128:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl Database {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn open(path: impl AsRef<Path>) -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn begin_read<'a>(&'a self) -> Result<DatabaseReadTransaction> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn begin_write<'a>(&'a self) -> Result<DatabaseWriteTransaction<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DatabaseTransaction` is never used
[INFO] [stdout]    --> src/database/mod.rs:237:11
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub trait DatabaseTransaction {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseReadTransaction` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct DatabaseReadTransaction {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cursor` and `commit` are never used
[INFO] [stdout]    --> src/database/mod.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | impl DatabaseReadTransaction {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] 250 |     pub fn cursor(&self, root: PageNumber) -> BTreeCursor<'_, ReadTransaction> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn commit(self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseWriteTransaction` is never constructed
[INFO] [stdout]    --> src/database/mod.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct DatabaseWriteTransaction<'tx> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEFAULT_BALANCE_PER_SIDE`, `cursor`, and `commit` are never used
[INFO] [stdout]    --> src/database/mod.rs:291:11
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<'tx> DatabaseWriteTransaction<'tx> {
[INFO] [stdout]     | --------------------------------------- associated items in this implementation
[INFO] [stdout] 291 |     const DEFAULT_BALANCE_PER_SIDE: u16 = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 292 |
[INFO] [stdout] 293 |     pub fn cursor(&self, root: PageNumber) -> BTreeCursor<'_, WriteTransaction<'tx>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn commit(self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[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: function `pipeline` is never used
[INFO] [stdout]   --> src/sql/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pipeline(input: &str, catalog: &Arc<Catalog>) -> Result<Statement> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/sql/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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/sql/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     InvalidQuery(usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 38 |     #[error("string was opened, but nerver closed.")]
[INFO] [stdout] 39 |     StringNotClosed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     #[error("unexpected token: {0}.")]
[INFO] [stdout] 41 |     UnexpectedToken(char),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     Expected { expected: Token, found: Token },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     #[error("expected one of: {expected:?} but found: {found}.")]
[INFO] [stdout] 46 |     ExpectedOneOf { expected: Vec<Token>, found: Token },
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     NumberOutOfRange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     #[error("unexpected eof")]
[INFO] [stdout] 51 |     UnexpectedEof,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     InvalidSerialType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 56 |     #[error("invalid value of type {0}")]
[INFO] [stdout] 57 |     InvalidValue(&'static str),
[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 `Result` is never used
[INFO] [stdout]   --> src/sql/analyzer.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: multiple variants are never constructed
[INFO] [stdout]   --> src/sql/analyzer.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     MasterTableModification,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     TableAlreadyExists(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     #[error("duplicated column names. {reason}")]
[INFO] [stdout] 30 |     ContainsDuplicateNames { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     #[error("table contains multiple primary keys (support not planed).")]
[INFO] [stdout] 32 |     MultiplePrimaryKeys,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     #[error("table \"{0}\" not found")]
[INFO] [stdout] 34 |     TableNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     #[error("table contains {expected} columns, but attempted to insert {got}")]
[INFO] [stdout] 36 |     ColumnCountMismatch { expected: usize, got: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     #[error("index not marked as unique (not supported yet)")]
[INFO] [stdout] 38 |     UniqueIndexNotSupported,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     #[error("index \"{0}\" already exists. use different name or delete existing one.")]
[INFO] [stdout] 40 |     IndexAlreadyExists(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     #[error("attempted to use column \"{0}\", that doesn't exist.")]
[INFO] [stdout] 42 |     ColumnNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     #[error("attempted to modify hidden \"row_id\" column.")]
[INFO] [stdout] 44 |     RowIdAssignment,
[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: variants `CannotApplyUnary`, `CannotApplyBinary`, `ExpectedType`, and `UnexpectedExpression` are never constructed
[INFO] [stdout]   --> src/sql/analyzer.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub enum TypeError {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 57 |     #[error("cannot apply unary operator: {operator}{value}")]
[INFO] [stdout] 58 |     CannotApplyUnary {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     CannotApplyBinary {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     ExpectedType {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     UnexpectedExpression { expr: Expression },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze` is never used
[INFO] [stdout]   --> src/sql/analyzer.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn analyze(statement: &Statement, catalog: &Catalog) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_where` is never used
[INFO] [stdout]    --> src/sql/analyzer.rs:269:4
[INFO] [stdout]     |
[INFO] [stdout] 269 | fn analyze_where(schema: &Schema, r#where: &Option<Expression>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_assignment` is never used
[INFO] [stdout]    --> src/sql/analyzer.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn analyze_assignment(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_expression` is never used
[INFO] [stdout]    --> src/sql/analyzer.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn analyze_expression(schema: &Schema, expr: &Expression) -> Result<ValueType> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize` is never used
[INFO] [stdout]   --> src/sql/optimizer.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn optimize(statement: &mut Statement) -> sql::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simplfy_where` is never used
[INFO] [stdout]   --> src/sql/optimizer.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn simplfy_where(r#where: &mut Option<Expression>) -> sql::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simplify_all` is never used
[INFO] [stdout]   --> src/sql/optimizer.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn simplify_all<'e>(mut expressions: impl Iterator<Item = &'e mut Expression>) -> sql::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simplify` is never used
[INFO] [stdout]   --> src/sql/optimizer.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn simplify(expression: &mut Expression) -> sql::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_literal_expression` is never used
[INFO] [stdout]    --> src/sql/optimizer.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn resolve_literal_expression(expression: &Expression) -> sql::Result<Expression> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/sql/parser/mod.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn parse(sql: &str) -> sql::Result<Statement> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StatementParser` is never used
[INFO] [stdout]   --> src/sql/parser/mod.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait StatementParser {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/sql/parser/mod.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Parser<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sql/parser/mod.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn new(input: &'a str) -> sql::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     fn validate(token_stream: Vec<sql::Result<Token>>) -> sql::Result<Vec<Token>> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn token_at(&self, idx: usize) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn peek(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn next(&mut self) -> Option<Token> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn prev_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn peek_token(&mut self) -> sql::Result<&Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn next_token(&mut self) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn next_keyword(&mut self) -> sql::Result<Keyword> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn expect_token(&mut self, expected: Token) -> sql::Result<Token> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn expect_keyword(&mut self, expected: Keyword) -> sql::Result<Keyword> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn consume_optional_token(&mut self, optional: Token) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn consume_optional_keyword(&mut self, optional: Keyword) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn consume_one_of<'k, K>(&mut self, keywords: &'k K) -> Keyword
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn get_next_precedence(&mut self) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn parse_expression(&mut self) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn parse_expr(&mut self, precedence: u8) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn parse_prefix(&mut self) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn parse_infix(&mut self, left: Expression, precedence: u8) -> sql::Result<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn parse_identifier(&mut self) -> sql::Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     fn parse_comma_separeted<T>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     fn parse_comma_separeted_values(&mut self) -> sql::Result<Vec<Expression>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn parse_identifier_list(&mut self) -> sql::Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn parse_optional_identifier_list(&mut self) -> sql::Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn parse_assignment(&mut self) -> sql::Result<Assignment> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     fn parse_data_type(&mut self) -> sql::Result<DataType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     fn parse_column(&mut self) -> sql::Result<Column> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     fn parse_where(&mut self) -> sql::Result<Option<Expression>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     fn parse_order_by(&mut self) -> sql::Result<Vec<Expression>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     pub fn parse_statement(&mut self) -> sql::Result<Statement> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]  --> src/sql/parser/statement.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Statement {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Identifier`, `Value`, `Wildcard`, `BinaryOperation`, `UnaryOperation`, and `Nested` are never constructed
[INFO] [stdout]    --> src/sql/parser/statement.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 122 |     Identifier(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 123 |
[INFO] [stdout] 124 |     Value(Value),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 125 |
[INFO] [stdout] 126 |     Wildcard,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 127 |
[INFO] [stdout] 128 |     BinaryOperation {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     UnaryOperation {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     Nested(Box<Expression>),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` 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: multiple variants are never constructed
[INFO] [stdout]    --> src/sql/parser/statement.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum BinaryOperator {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 159 |     Eq,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 160 |     Neq,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 161 |     Lt,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 162 |     Gt,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 163 |     LtEq,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 164 |     GtEq,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 165 |     Add,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 166 |     Sub,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 167 |     Mul,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 168 |     Div,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 169 |     And,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 170 |     Or,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryOperator` 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: variants `Plus` and `Minus` are never constructed
[INFO] [stdout]    --> src/sql/parser/statement.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub enum UnaryOperator {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 194 |     Plus,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 195 |     Minus,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryOperator` 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: variants `Int`, `Boolean`, `Text`, and `Blob` are never constructed
[INFO] [stdout]    --> src/sql/parser/statement.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub enum DataType {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 210 |     Int,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     Boolean,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 215 |     // VarChar(usize),
[INFO] [stdout] 216 |     Text,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 217 |     Blob,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataType` 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: enum `Constrains` is never used
[INFO] [stdout]    --> src/sql/parser/statement.rs:236:10
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub enum Constrains {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Assignment` is never constructed
[INFO] [stdout]    --> src/sql/parser/statement.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub struct Assignment {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Column` is never constructed
[INFO] [stdout]    --> src/sql/parser/statement.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub struct Column {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sql/parser/statement.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Column {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 274 |     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/parser/statement.rs:312:10
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub enum Create {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Drop` is never used
[INFO] [stdout]    --> src/sql/parser/statement.rs:348:10
[INFO] [stdout]     |
[INFO] [stdout] 348 | pub enum Drop {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt_join` is never used
[INFO] [stdout]    --> src/sql/parser/statement.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 362 | pub fn fmt_join<'t, T: Display + 't>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/sql/parser/token.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout]  5 |     Keyword(Keyword),
[INFO] [stdout]  6 |     Identifier(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]  7 |     Whitespace(Whitespace),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]  8 |     String(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]  9 |     Number(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 10 |     Eq,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 11 |     Neq,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 12 |     Lt,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 13 |     Gt,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 14 |     LtEq,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     GtEq,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     Add,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 17 |     Sub,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 18 |     Mul,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 19 |     Div,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 20 |     LeftParen,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 21 |     RightParen,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 22 |     Comma,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     SemiColon,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     /// Only indicates end of token stream
[INFO] [stdout] 25 |     Eof,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` 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: associated function `is_part_keyword_or_identifier` is never used
[INFO] [stdout]   --> src/sql/parser/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: multiple variants are never constructed
[INFO] [stdout]    --> src/sql/parser/token.rs:69:5
[INFO] [stdout]     |
[INFO] [stdout]  68 | pub enum Keyword {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout]  69 |     Select,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  70 |     Create,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  71 |     Update,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  72 |     Delete,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  73 |     Insert,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  74 |     Into,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  75 |     Values,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  76 |     Set,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  77 |     Drop,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  78 |     From,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  79 |     Where,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  80 |     And,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  81 |     Or,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  82 |     Primary,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  83 |     Key,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  84 |     Unique,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  85 |     Table,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  86 |     Database,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]  87 |     Int,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     Text,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  92 |     Blob,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  93 |     Bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  94 |     True,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]  95 |     False,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  96 |     Order,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  97 |     By,
[INFO] [stdout]     |     ^^
[INFO] [stdout]  98 |     Index,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]  99 |     On,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 100 |     Begin,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 101 |     Transaction,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 102 |     Rollback,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 103 |     Commit,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 104 |     Explain,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 105 |     /// Not used, only for convinience
[INFO] [stdout] 106 |     None,
[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: variants `Space`, `Tab`, and `Newline` are never constructed
[INFO] [stdout]    --> src/sql/parser/token.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub enum Whitespace {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 155 |     Space,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 156 |     Tab,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 157 |     Newline,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Whitespace` 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: struct `Stream` is never constructed
[INFO] [stdout]  --> src/sql/parser/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/parser/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/parser/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/parser/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] 158 |     pub fn next_token(&mut self) -> sql::Result<Token> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare` is never used
[INFO] [stdout]  --> src/sql/prepare.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn prepare(statement: &mut Statement, catalog: &Catalog) -> sql::Result<()> {
[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 empty() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn from_borrowed(payload: &'a [u8]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn from_owned(payload: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn raw(&'a self) -> &'a [u8] {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn get_value(&'a self, index: usize) -> ValueRef<'a> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn try_get_value(&'a self, index: usize) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn values(&'a self) -> Vec<ValueRef<'a>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     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:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl RecordCursor {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn parse_up_to(&mut self, payload: &[u8], index: usize) -> sql::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn full_parse(&mut self, payload: &[u8]) -> sql::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn get_value<'a>(&mut self, payload: &'a [u8], index: usize) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     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:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct RecordBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, `calculate_header_size`, `serialize_to_bytes`, `serialize_to_record`, and `get` are never used
[INFO] [stdout]    --> src/sql/record.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl RecordBuilder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 197 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn add(&mut self, value: Value) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn calculate_header_size(size_of_serial_types: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn serialize_to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn serialize_to_record(&self) -> Record<'static> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     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:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | 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:329:8
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub fn compare_records(r1: &Record, r2: &Record) -> std::cmp::Ordering {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROW_ID_COLUMN` is never used
[INFO] [stdout]   --> src/sql/schema.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const ROW_ID_COLUMN: &str = "row_id";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/sql/schema.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TableNotFound` is never constructed
[INFO] [stdout]   --> src/sql/schema.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] 27 |     #[error("table \"{0}\" not found in database.")]
[INFO] [stdout] 28 |     TableNotFound(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: struct `Catalog` is never constructed
[INFO] [stdout]   --> src/sql/schema.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Catalog {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_table`, `get_next_row_id_of_table`, and `from_cursor` are never used
[INFO] [stdout]   --> src/sql/schema.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Catalog {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 37 |     pub fn get_table(&self, name: &str) -> Result<TableMetadata> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_next_row_id_of_table(&self, name: &str) -> Result<i64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn from_cursor<Tx: ReadTx>(mut master_cursor: BTreeCursor<Tx>) -> storage::Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PendingIndex` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct PendingIndex {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexMetadata` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct IndexMetadata {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `index_of` are never used
[INFO] [stdout]    --> src/sql/schema.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl IndexMetadata {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 156 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn index_of(&self, column: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableMetadata` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct TableMetadata {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `index_of` are never used
[INFO] [stdout]    --> src/sql/schema.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl TableMetadata {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 187 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn index_of(&self, column: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Schema` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct Schema {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sql/schema.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl Schema {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 215 |     pub fn new(columns: Vec<Column>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn column_names(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn index_of(&self, column: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn has_row_id(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn push(&mut self, column: Column) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn prepend_row_id(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Column` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub struct Column {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sql/schema.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl Column {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 289 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ColumnProperties` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:316:12
[INFO] [stdout]     |
[INFO] [stdout] 316 | pub struct ColumnProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/sql/schema.rs:321:12
[INFO] [stdout]     |
[INFO] [stdout] 320 | impl ColumnProperties {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 321 |     pub fn new(flags: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/sql/schema.rs:327:11
[INFO] [stdout]     |
[INFO] [stdout] 326 | impl ColumnProperties {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 327 |     const PRIMARY_KEY: u8 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 328 |     const NULL: u8 = 1 << 1;
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 329 |     const UNIQUE: u8 = 1 << 2;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 330 |
[INFO] [stdout] 331 |     pub fn is_primary_key(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn set_primary_key(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn is_null(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn set_null(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn set_not_null(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn is_unique(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn set_unique(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ColumnPropertiesBuilder` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub struct ColumnPropertiesBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `primary_key`, `null`, `not_null`, `unique`, and `build` are never used
[INFO] [stdout]    --> src/sql/schema.rs:399:12
[INFO] [stdout]     |
[INFO] [stdout] 398 | impl ColumnPropertiesBuilder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 399 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub fn primary_key(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn null(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 415 |     pub fn not_null(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn unique(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn build(self) -> ColumnProperties {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bool`, `Int`, `Blob`, and `Text` are never constructed
[INFO] [stdout]   --> src/sql/types/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 57 |     Null,
[INFO] [stdout] 58 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 59 |     Int(i64),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 60 |     Blob(Vec<u8>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 61 |     Text(Text),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `value_type` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn value_type(&self) -> ValueType {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_value` is never used
[INFO] [stdout]    --> src/sql/types/mod.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn parse_value<'a>(buffer: &'a [u8], serial_type: &SerialType) -> sql::Result<ValueRef<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/sql/types/mod.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | impl<'a> ValueRef<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 258 |     pub fn to_owned(&self) -> Value {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn to_value_type(&self) -> ValueType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn to_bool(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn to_int(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn to_blob(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn to_text(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn to_json(&self) -> &str {
[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:72:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct TextRef<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 71 |     pub value: &'a str,
[INFO] [stdout] 72 |     pub kind: TextKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `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] 49 |     #[error("key wasn't present in B-tree")]
[INFO] [stdout] 50 |     KeyNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     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: type alias `RowId` is never used
[INFO] [stdout]   --> src/storage/btree.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub type RowId = i64;
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BTreeKey` is never used
[INFO] [stdout]   --> src/storage/btree.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum BTreeKey<'a> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/storage/btree.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<'a> BTreeKey<'a> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 34 |     pub fn new_table_key(row_id: RowId, record: Option<Record<'a>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn new_index_key(record: Record<'a>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn is_index(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn is_table(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_record(&self) -> Option<Record<'a>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn row_id(&self) -> RowId {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     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:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub enum SearchResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_found` is never used
[INFO] [stdout]    --> src/storage/btree.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SearchResult {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 125 |     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:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum BTreeType {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DatabaseCursor` is never used
[INFO] [stdout]    --> src/storage/btree.rs:139:11
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub trait DatabaseCursor {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BTreeCursor` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub struct BTreeCursor<'tx, Tx> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/btree.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl<'tx, Tx: ReadTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]     | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 185 |     /// Creates new cursor starting at root of B-tree.
[INFO] [stdout] 186 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn binary_search(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn key_in_range(&self, page: &Page, key: &BTreeKey) -> storage::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn extract_high_key<'a>(&self, page: &'a Page) -> storage::Result<Option<BTreeKey<'a>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn extracty_key<'a>(&self, page: &'a Page, index: SlotNumber) -> storage::Result<BTreeKey<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     fn owned_record_from_cell(&self, cell: &BTreeCell) -> storage::Result<Record<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn reassemble_payload<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn go_to_root(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn next_row_id(&mut self) -> storage::Result<RowId> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InsertOptions` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:577:12
[INFO] [stdout]     |
[INFO] [stdout] 577 | pub struct InsertOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/storage/btree.rs:582:12
[INFO] [stdout]     |
[INFO] [stdout] 581 | impl InsertOptions {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 582 |     pub fn new(flags: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `REPLACE`, `RETURNING`, `is_replace`, `set_replace`, `is_returning`, and `set_returning` are never used
[INFO] [stdout]    --> src/storage/btree.rs:588:11
[INFO] [stdout]     |
[INFO] [stdout] 587 | impl InsertOptions {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 588 |     const REPLACE: usize = 1;
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 589 |     const RETURNING: usize = 1 << 1;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 590 |
[INFO] [stdout] 591 |     pub fn is_replace(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 |     pub fn set_replace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn is_returning(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     pub fn set_returning(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InsertOptionsBuilder` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:616:12
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub struct InsertOptionsBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `replace`, and `build` are never used
[INFO] [stdout]    --> src/storage/btree.rs:622:12
[INFO] [stdout]     |
[INFO] [stdout] 620 | impl InsertOptionsBuilder {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 621 |     /// Creates builder with default options set by default.
[INFO] [stdout] 622 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |     pub fn replace(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     pub fn build(self) -> InsertOptions {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteOptions` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:641:12
[INFO] [stdout]     |
[INFO] [stdout] 641 | pub struct DeleteOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/storage/btree.rs:646:12
[INFO] [stdout]     |
[INFO] [stdout] 645 | impl DeleteOptions {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 646 |     pub fn new(flags: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `RETURNING`, `is_returning`, and `set_returning` are never used
[INFO] [stdout]    --> src/storage/btree.rs:652:11
[INFO] [stdout]     |
[INFO] [stdout] 651 | impl DeleteOptions {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 652 |     const RETURNING: usize = 1;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 653 |
[INFO] [stdout] 654 |     pub fn is_returning(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658 |     pub fn set_returning(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteOptionsBuilder` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:671:12
[INFO] [stdout]     |
[INFO] [stdout] 671 | pub struct DeleteOptionsBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `returning`, and `build` are never used
[INFO] [stdout]    --> src/storage/btree.rs:677:12
[INFO] [stdout]     |
[INFO] [stdout] 675 | impl DeleteOptionsBuilder {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 676 |     /// Creates builder with default options set by default.
[INFO] [stdout] 677 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 683 |     pub fn returning(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 688 |     pub fn build(self) -> DeleteOptions {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/storage/btree.rs:697:12
[INFO] [stdout]      |
[INFO] [stdout]  693 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]      | ------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  697 |     pub fn insert(
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  731 |     fn try_insert_into_leaf(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  765 |     pub fn delete(
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  788 |     fn try_delete_from_leaf(&mut self, slot_number: SlotNumber) -> storage::Result<BTreeCell> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  817 |     fn split_root(&mut self) -> storage::Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  930 |     fn balance(&mut self) -> storage::Result<()> {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1288 |     fn load_siblings(
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1326 |     fn build_high_key(&mut self, page: &Page, entry: &BTreeKey<'_>) -> storage::Result<BTreeCell> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1383 |     fn build_cell(&mut self, page: &Page, entry: BTreeKey<'_>) -> storage::Result<BTreeCell> {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1423 |     fn build_overflow_chain(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1470 |     fn convert_to_internal_cell(&self, cell: BTreeCell, left_child: PageNumber) -> BTreeCell {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1485 |     fn free_cell(&mut self, cell: &BTreeCell) -> storage::Result<()> {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sibling` is never constructed
[INFO] [stdout]     --> src/storage/btree.rs:1506:8
[INFO] [stdout]      |
[INFO] [stdout] 1506 | struct Sibling {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1512:8
[INFO] [stdout]      |
[INFO] [stdout] 1511 | impl Sibling {
[INFO] [stdout]      | ------------ associated function in this implementation
[INFO] [stdout] 1512 |     fn new(page: PageNumber, index_in_parent: SlotNumber) -> Self {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CellSplit` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1520:6
[INFO] [stdout]      |
[INFO] [stdout] 1520 | type CellSplit = (Option<usize>, Vec<usize>);
[INFO] [stdout]      |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_split_ratio` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1522:4
[INFO] [stdout]      |
[INFO] [stdout] 1522 | fn calculate_split_ratio(
[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`, `insert`, and `drain_overflow` 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] 67 |     pub fn drain_overflow(&self) -> Vec<(PageNumber, Arc<MemPage>)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockEntry` is never constructed
[INFO] [stdout]   --> src/storage/cache.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | struct ClockEntry {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage/cache.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl ClockEntry {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 83 |     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:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | 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:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl ClockCache {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 102 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn try_insert(&mut self, key: PageNumber, page: Arc<MemPage>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn get(&mut self, key: &PageNumber) -> Option<Arc<MemPage>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     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:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | 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:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const DATABASE_HEADER_SIZE: usize = 34;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PAGE_SIZE` is never used
[INFO] [stdout]   --> src/storage/page.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | 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:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | 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:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | 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:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | 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:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | 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:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | 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:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | 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:72:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl DatabaseHeader {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  72 |     pub fn get_page_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     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] 111 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/page.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl DatabaseHeader {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 125 |     #[inline]
[INFO] [stdout] 126 |     pub fn get_change_counter(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn get_database_size(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn get_first_freelist_page(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn get_freelist_pages(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn get_valid_version_for(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn increment_change_counter(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn fetch_add_database_size(&mut self, add: PageNumber) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn set_first_freelist_page(&mut self, page_number: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn sub_freelist_pages(&mut self, sub: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn add_freelist_pages(&mut self, add: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn set_version_valid_for(&mut self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn is_consistent(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PageType` is never used
[INFO] [stdout]    --> src/storage/page.rs:207:10
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub enum PageType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_leaf`, `is_internal`, and `into_internal` are never used
[INFO] [stdout]    --> src/storage/page.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl PageType {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 215 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn is_internal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn into_internal(self) -> PageType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Page` is never constructed
[INFO] [stdout]    --> src/storage/page.rs:287:12
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub struct Page {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/page.rs:308:11
[INFO] [stdout]     |
[INFO] [stdout] 307 | impl Page {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 308 |     const PAGE_TYPE_OFFSET: usize = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 309 |     const FIRST_FREEBLOCK_OFFSET: usize = Self::PAGE_TYPE_OFFSET + size_of::<PageType>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 310 |     const LENGTH_OFFSET: usize = Self::FIRST_FREEBLOCK_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 311 |     const LAST_USED_OFFSET: usize = Self::LENGTH_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 312 |     const FREE_FRAGMENTS_OFFSET: usize = Self::LAST_USED_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 313 |     const RIGHT_SIBLING_OFFSET: usize = Self::FREE_FRAGMENTS_OFFSET + size_of::<u8>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 314 |     const RIGHT_CHILD_OFFSET: usize = Self::RIGHT_SIBLING_OFFSET + size_of::<PageNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 315 |
[INFO] [stdout] 316 |     pub const HIGH_KEY_SLOT: SlotNumber = 0;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 317 |     const FIRST_DATA_KEY: SlotNumber = Self::HIGH_KEY_SLOT + 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     const NEXT_OVERFLOW_OFFSET: usize = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 321 |     const PAYLOAD_SIZE_OFFSET: usize = Self::NEXT_OVERFLOW_OFFSET + size_of::<PageNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 322 |     const PAYLOAD_OFFSET: usize = Self::PAYLOAD_SIZE_OFFSET + size_of::<SlotNumber>();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub const LEAF_PAGE_HEADER_SIZE: usize = 12;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 326 |     pub const INTERNAL_PAGE_HEADER_SIZE: usize = 16;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 327 |
[INFO] [stdout] 328 |     pub fn new(offset: usize, buffer: Buffer) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn alloc(size: usize, drop: Option<DropFn>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn initialize(&self, page_type: PageType) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn raw(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn as_ptr(&self) -> &mut [u8] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn usable_space(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn min_cell_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn max_cell_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn can_fit_in_overflow(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn total_free_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn used_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn as_io_slice(&self) -> IoSlice {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub(super) fn overflow_map(&self) -> &mut HashMap<SlotNumber, BTreeCell> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn is_overflow(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn is_underflow(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn header_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn storage_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     pub fn free_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 448 |     pub fn first_data_offset(&self) -> SlotNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn slot_array(&self) -> SlotArray {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn freeblock_list(&self) -> FreeblockList {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 490 |     fn defragment(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     fn get_cell_size(&self, offset: u16) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     fn get_cell_at_offset<'a>(&'a self, offset: u16) -> storage::Result<BTreeCellRef<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn get_cell<'a>(&'a self, index: SlotNumber) -> storage::Result<BTreeCellRef<'a>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     pub fn push(&self, cell: BTreeCell) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn insert_cell(&self, index: SlotNumber, cell: BTreeCell) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 575 |     fn try_insert_cell(&self, index: SlotNumber, cell: BTreeCell) -> Result<SlotNumber, BTreeCell> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |     pub fn replace_cell(&self, index: SlotNumber, cell: BTreeCell) -> BTreeCell {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 645 |     fn try_replace(&self, index: SlotNumber, new_cell: BTreeCell) -> Result<BTreeCell, BTreeCell> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     pub fn remove(&self, index: SlotNumber) -> BTreeCell {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 698 |     pub fn drain(&self, range: impl RangeBounds<SlotNumber>) -> impl Iterator<Item = BTreeCell> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 745 |     pub fn child(&self, index: SlotNumber) -> PageNumber {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 764 |     pub fn set_child(&self, index: SlotNumber, new_child: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     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:790:8
[INFO] [stdout]     |
[INFO] [stdout] 789 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 790 |     fn read_u8(&self, pos: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 794 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 799 |     fn read_u32(&self, pos: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 804 |     fn write_u8(&self, pos: usize, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 809 |     fn write_u16(&self, pos: usize, value: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 |     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:821:12
[INFO] [stdout]     |
[INFO] [stdout] 820 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 821 |     pub fn try_page_type(&self) -> Option<PageType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 825 |     pub fn page_type(&self) -> PageType {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     pub fn set_page_type(&self, value: PageType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 833 |     pub fn first_freeblock(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 837 |     pub fn set_first_freeblock(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 841 |     pub fn last_used_offset(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 845 |     pub fn set_last_used_offset(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 849 |     pub fn free_fragments(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 853 |     pub fn set_free_fragments(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 857 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub fn try_right_sibling(&self) -> Option<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 867 |     pub fn set_right_sibling(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 872 |     pub fn try_right_child(&self) -> Option<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 881 |     pub fn set_right_child(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 886 |     pub fn len(&self) -> u16 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 890 |     pub fn set_len(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 895 |     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:903:12
[INFO] [stdout]     |
[INFO] [stdout] 901 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 902 |     /// Use only when page type is overflow.
[INFO] [stdout] 903 |     pub fn next_overflow(&self) -> Option<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 909 |     pub fn set_next_overflow(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 914 |     pub fn overflow_payload_size(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 918 |     pub fn set_overflow_payload_size(&self, value: u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 923 |     pub fn overflow_payload(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 929 |     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:942:12
[INFO] [stdout]     |
[INFO] [stdout] 940 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 941 |     /// Returns database header. Only use with page that have non-zero offset.
[INFO] [stdout] 942 |     pub fn db_header(&self) -> DatabaseHeader {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 946 |     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:954:12
[INFO] [stdout]     |
[INFO] [stdout] 952 | impl Page {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 953 |     /// Returns page number of next free page, if exists.
[INFO] [stdout] 954 |     pub fn freelist_next(&self) -> PageNumber {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 958 |     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:989:12
[INFO] [stdout]     |
[INFO] [stdout] 989 | 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:997:12
[INFO] [stdout]      |
[INFO] [stdout]  996 | impl<'a> SlotArray<'a> {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout]  997 |     pub fn new(mem: &'a mut [u8], slot_array_offset: usize) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1004 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     fn write_u16(&mut self, pos: usize, value: u16) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1012 |     pub fn len(&self) -> u16 {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1016 |     pub fn set_len(&mut self, value: u16) {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1020 |     pub fn increment_len(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1025 |     pub fn sub_len(&mut self, sub: SlotNumber) {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1030 |     pub fn decrement_len(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1034 |     fn slot_array(&self) -> &[u16] {
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1042 |     fn slot_array_mut(&mut self) -> &mut [u16] {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1051 |     pub fn get(&self, index: SlotNumber) -> u16 {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1056 |     pub fn try_get(&self, index: SlotNumber) -> Option<u16> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1062 |     pub fn set(&mut self, index: SlotNumber, value: u16) {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1074 |     pub fn insert(&mut self, index: SlotNumber, value: u16) {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1088 |     pub fn push(&mut self, value: u16) {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1092 |     pub fn remove(&mut self, index: SlotNumber) -> u16 {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1108 |     pub fn drain(&mut self, range: impl RangeBounds<SlotNumber>) -> Vec<u16> {
[INFO] [stdout]      |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FreeblockList` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1142:8
[INFO] [stdout]      |
[INFO] [stdout] 1142 | struct FreeblockList<'a> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/storage/page.rs:1148:12
[INFO] [stdout]      |
[INFO] [stdout] 1147 | impl<'a> FreeblockList<'a> {
[INFO] [stdout]      | -------------------------- associated items in this implementation
[INFO] [stdout] 1148 |     pub fn new(mem: &'a mut [u8]) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1152 |     fn read_u8(&self, pos: usize) -> u8 {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1156 |     fn read_u16(&self, pos: usize) -> u16 {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1160 |     fn write_u8(&mut self, pos: usize, value: u8) {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1164 |     fn write_u16(&mut self, pos: usize, value: u16) {
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1168 |     pub fn first_freeblock(&self) -> u16 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1172 |     pub fn set_first_freeblock(&mut self, value: u16) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1176 |     pub fn free_fragments(&self) -> u8 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1180 |     pub fn set_free_fragments(&mut self, value: u8) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1184 |     pub fn add_free_fragment(&mut self, value: u8) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1189 |     fn get_freeblock(&self, offset: u16) -> (u16, u16) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1195 |     fn set_freeblock(&mut self, offset: u16, next: u16, size: u16) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1203 |     pub fn take_freeblock(&mut self, cell_size: u16) -> Option<u16> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1237 |     pub fn push_freeblock(&mut self, offset: u16, size: u16) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1254 |     fn iter(&self) -> FreeblockIterator<'_> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FreeblockIterator` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1262:8
[INFO] [stdout]      |
[INFO] [stdout] 1262 | struct FreeblockIterator<'a> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CellOps` is never used
[INFO] [stdout]     --> src/storage/page.rs:1282:11
[INFO] [stdout]      |
[INFO] [stdout] 1282 | pub trait CellOps {
[INFO] [stdout]      |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PayloadRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1305:12
[INFO] [stdout]      |
[INFO] [stdout] 1305 | pub struct PayloadRef {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_slice` is never used
[INFO] [stdout]     --> src/storage/page.rs:1311:12
[INFO] [stdout]      |
[INFO] [stdout] 1310 | impl PayloadRef {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] 1311 |     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:1318:10
[INFO] [stdout]      |
[INFO] [stdout] 1318 | pub enum BTreeCell {
[INFO] [stdout]      |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `left_child` is never used
[INFO] [stdout]     --> src/storage/page.rs:1326:12
[INFO] [stdout]      |
[INFO] [stdout] 1325 | impl BTreeCell {
[INFO] [stdout]      | -------------- method in this implementation
[INFO] [stdout] 1326 |     pub fn left_child(&self) -> Option<PageNumber> {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexInternalCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1420:12
[INFO] [stdout]      |
[INFO] [stdout] 1420 | pub struct IndexInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_left_child`, and `payload` are never used
[INFO] [stdout]     --> src/storage/page.rs:1437:12
[INFO] [stdout]      |
[INFO] [stdout] 1434 | impl IndexInternalCell {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1437 |     pub fn new(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1469 |     pub fn set_left_child(&mut self, value: PageNumber) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1474 |     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:1528:12
[INFO] [stdout]      |
[INFO] [stdout] 1528 | pub struct IndexLeafCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `into_internal` are never used
[INFO] [stdout]     --> src/storage/page.rs:1543:12
[INFO] [stdout]      |
[INFO] [stdout] 1540 | impl IndexLeafCell {
[INFO] [stdout]      | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1543 |     pub fn new(payload_size: VarInt, payload: &[u8], first_overflow: Option<PageNumber>) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1568 |     pub fn into_internal(self, left_child: PageNumber) -> IndexInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableInternalCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1627:12
[INFO] [stdout]      |
[INFO] [stdout] 1627 | pub struct TableInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_left_child` are never used
[INFO] [stdout]     --> src/storage/page.rs:1639:12
[INFO] [stdout]      |
[INFO] [stdout] 1636 | impl TableInternalCell {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1639 |     pub fn new(row_id: RowId, left_child: PageNumber) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1653 |     pub fn set_left_child(&mut self, value: PageNumber) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableLeafCell` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:1710:12
[INFO] [stdout]      |
[INFO] [stdout] 1710 | pub struct TableLeafCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `into_internal` are never used
[INFO] [stdout]     --> src/storage/page.rs:1727:12
[INFO] [stdout]      |
[INFO] [stdout] 1724 | impl TableLeafCell {
[INFO] [stdout]      | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1727 |     pub fn new(
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1759 |     pub fn into_internal(self, left_child: PageNumber) -> TableInternalCell {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BTreeCellRef` is never used
[INFO] [stdout]     --> src/storage/page.rs:1813:10
[INFO] [stdout]      |
[INFO] [stdout] 1813 | 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:1910:12
[INFO] [stdout]      |
[INFO] [stdout] 1903 | impl<'a> BTreeCellRef<'a> {
[INFO] [stdout]      | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1910 |     pub fn offset_in_page(&self, page_buffer: &[u8]) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1914 |     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:1948:12
[INFO] [stdout]      |
[INFO] [stdout] 1948 | pub struct IndexInternalCellRef<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_left_child` is never used
[INFO] [stdout]     --> src/storage/page.rs:1957:8
[INFO] [stdout]      |
[INFO] [stdout] 1956 | impl<'a> IndexInternalCellRef<'a> {
[INFO] [stdout]      | --------------------------------- method in this implementation
[INFO] [stdout] 1957 |     fn set_left_child(&mut self, value: PageNumber) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexLeafCellRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:2015:12
[INFO] [stdout]      |
[INFO] [stdout] 2015 | pub struct IndexLeafCellRef<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableInternalCellRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:2071:12
[INFO] [stdout]      |
[INFO] [stdout] 2071 | pub struct TableInternalCellRef<'a> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_left_child` is never used
[INFO] [stdout]     --> src/storage/page.rs:2078:8
[INFO] [stdout]      |
[INFO] [stdout] 2077 | impl<'a> TableInternalCellRef<'a> {
[INFO] [stdout]      | --------------------------------- method in this implementation
[INFO] [stdout] 2078 |     fn set_left_child(&mut self, value: PageNumber) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableLeafCellRef` is never constructed
[INFO] [stdout]     --> src/storage/page.rs:2138:12
[INFO] [stdout]      |
[INFO] [stdout] 2138 | 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:2194:4
[INFO] [stdout]      |
[INFO] [stdout] 2194 | 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:2335:8
[INFO] [stdout]      |
[INFO] [stdout] 2335 | 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:2349:8
[INFO] [stdout]      |
[INFO] [stdout] 2349 | 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:2374:8
[INFO] [stdout]      |
[INFO] [stdout] 2374 | 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:408:11
[INFO] [stdout]     |
[INFO] [stdout] 405 | impl Pager {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 408 |     const DIRTY_PAGES_FLUSH_PERCENTAGE: usize = 50;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     const DIRTY_PAGES_FLUSH_THRESHOLD: usize = DEFAULT_CHECKPOINT_SIZE as usize;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 412 |
[INFO] [stdout] 413 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |     pub fn init(&self) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     pub fn write_header<Tx: WriteTx>(&self, tx: &mut Tx) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn read_page<Tx: ReadTx>(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     fn read_page_no_cache<Tx: ReadTx>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     fn read_page_from_disk(&self, page_number: PageNumber) -> storage::Result<Page> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     pub fn write_page<Tx: WriteTx>(&self, tx: &mut Tx, page: MemPageRef) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn btree_create<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 581 |     pub fn alloc_page<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 635 |     pub fn alloc_empty_page<Tx: WriteTx>(&self, tx: &mut Tx) -> storage::Result<PageNumber> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 681 |     pub fn free_page<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     pub fn mark_dirty(&self, page: &MemPageRef) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn mark_dirty_auto_flush<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 732 |     pub fn flush_dirty<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_write_page` is never used
[INFO] [stdout]    --> src/storage/pager.rs:780:8
[INFO] [stdout]     |
[INFO] [stdout] 780 | 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:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | 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:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | 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:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | 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:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | 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:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub 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:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | type Checksum = u32;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalHeader` is never constructed
[INFO] [stdout]   --> src/storage/wal/mod.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | 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:66:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl WalHeader {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  65 |     /// Recalculates checksum of all fields except `checksum`.
[INFO] [stdout]  66 |     pub fn update_checksum(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn default(page_size: u32, db_size: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn write_to_buffer(&self, buffer: &mut [u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     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:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct MemWalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl MemWalHeader {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 143 |     pub fn into_raw_header(&self) -> WalHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn update_checksum(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn get_checkpoint_seq_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn get_last_checkpointed(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn get_db_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn get_backfilled_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn get_checksum(&self) -> Checksum {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn increment_checkpoint_seq_num(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn set_last_checkpointed(&self, value: PageNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn set_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn add_backfilled_number(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     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:219:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | 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:230:12
[INFO] [stdout]     |
[INFO] [stdout] 229 | impl FrameHeader {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 230 |     pub fn from_bytes(buffer: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     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:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | 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:287:12
[INFO] [stdout]     |
[INFO] [stdout] 286 | impl WriteAheadLog {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 287 |     pub fn open(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn replay<Tx: WriteTx>(&self, tx: &mut Tx) -> 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> {
[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<Tx: WriteTx>(&self, tx: &mut Tx) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 486 |     fn calculate_frame_offset(&self, frame_number: FrameNumber) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     pub fn is_in_wal(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     fn read_raw(&self, frame_number: FrameNumber, buffer: &mut [u8]) -> storage::Result<usize> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     pub fn read_frame<Tx: ReadTx>(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn append_frame<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     pub fn append_vectored<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 648 |     fn should_checkpoint(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 654 |     pub fn checkpoint<Tx: WriteTx>(&self, transaction: &mut Tx) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 662 |     pub fn force_checkpoint<Tx: WriteTx>(&self, transaction: &mut Tx) -> storage::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WalIndex` is never constructed
[INFO] [stdout]    --> src/storage/wal/mod.rs:758:12
[INFO] [stdout]     |
[INFO] [stdout] 758 | 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:763:12
[INFO] [stdout]     |
[INFO] [stdout] 762 | impl WalIndex {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 763 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     fn insert_latest(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 782 |     pub fn insert(&self, page_number: PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 790 |     pub fn latest_frames_sorted(&self, max_frame: FrameNumber) -> Vec<(PageNumber, FrameNumber)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 811 |     pub fn contains(&self, page_number: &PageNumber) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 815 |     pub fn get(&self, page_number: &PageNumber, max_frame: FrameNumber) -> Option<FrameNumber> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 821 |     pub fn remove_up_to(&self, page_number: &PageNumber, frame_number: FrameNumber) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 831 |     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:839:4
[INFO] [stdout]     |
[INFO] [stdout] 839 | fn validate_frame(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadTx` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait ReadTx {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WriteTx` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | 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:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReadTransaction {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `begin` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl ReadTransaction {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn begin(wal: &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:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct WriteTransaction<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `begin` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl<'a> WriteTransaction<'a> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 90 |     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: constant `MAX_VECTORED_IO_BUFFERS` is never used
[INFO] [stdout]   --> src/utils/io.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const MAX_VECTORED_IO_BUFFERS: LazyLock<usize> =
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FileOps` is never used
[INFO] [stdout]   --> src/utils/io.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait FileOps {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IO` is never used
[INFO] [stdout]   --> src/utils/io.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub trait IO {
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockIO` is never constructed
[INFO] [stdout]    --> src/utils/io.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | 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:281:12
[INFO] [stdout]     |
[INFO] [stdout] 280 | impl<I> BlockIO<I> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 281 |     pub fn new(io: I, block_size: usize, header_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn get_io(&self) -> &mut I {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     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:304:12
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl<I: IO> BlockIO<I> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 304 |     pub fn raw_read(&self, offset: usize, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn read(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn raw_write(&self, offset: usize, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn write_header(&self, buffer: &[u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn write(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn write_vectored(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn truncate(&self, to_block_len: BlockNumber) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     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:409:12
[INFO] [stdout]     |
[INFO] [stdout] 404 | impl<I: Write> BlockIO<I> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 409 |     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:416:12
[INFO] [stdout]     |
[INFO] [stdout] 414 | impl<I: FileOps> BlockIO<I> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 415 |     /// Makes syscall to kernel to write **flushed** buffers to disk.
[INFO] [stdout] 416 |     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:423:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl<I: Write + FileOps> BlockIO<I> {
[INFO] [stdout]     | ----------------------------------- method in this implementation
[INFO] [stdout] 422 |     /// Flushes and fsync all writes to make sure that they are persisted.
[INFO] [stdout] 423 |     pub fn persist(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/vm/mod.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]   --> src/vm/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Error {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_expression_to_value` is never used
[INFO] [stdout]  --> src/vm/expression.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn resolve_expression_to_value(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_literal_expression` is never used
[INFO] [stdout]   --> src/vm/expression.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn resolve_literal_expression(expr: &Expression) -> sql::Result<Value> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Row` is never used
[INFO] [stdout]  --> src/vm/operator/mod.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Row = Record<'static>;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Operator` is never used
[INFO] [stdout]   --> src/vm/operator/mod.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Operator {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]  --> src/vm/operator/filter.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Filter {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/vm/operator/filter.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn eval(expr: &Expression, row: &Row, schema: &Schema) -> vm::Result<Value> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SeqScan` is never constructed
[INFO] [stdout]   --> src/vm/operator/seq_scan.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SeqScan<'tx, Tx: ReadTx> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/vm/operator/seq_scan.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<'tx, Tx: ReadTx> SeqScan<'tx, Tx> {
[INFO] [stdout]    | -------------------------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(cursor: BTreeCursor<'tx, Tx>, schema: Schema) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExecutionPlan` is never used
[INFO] [stdout]  --> src/vm/planner.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ExecutionPlan<'tx> {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plan` is never used
[INFO] [stdout]   --> src/vm/planner.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn plan<'tx, Tx: DatabaseTransaction>(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plan_select` is never used
[INFO] [stdout]   --> src/vm/planner.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn plan_select<'tx, Tx: DatabaseTransaction>(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryResult` is never used
[INFO] [stdout]  --> src/vm/query_result.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum QueryResult<'tx> {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RowIterator` is never constructed
[INFO] [stdout]   --> src/vm/query_result.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RowIterator<'tx> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:402:24
[INFO] [stdout]     |
[INFO] [stdout] 402 |     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] 402 |     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:456:19
[INFO] [stdout]     |
[INFO] [stdout] 456 |     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] 456 |     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:460:23
[INFO] [stdout]     |
[INFO] [stdout] 460 |     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] 460 |     fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.99s
[INFO] running `Command { std: "docker" "inspect" "35f31761825f2e3cb19eba0e442563ea57f9aeb82344f3c311d8cab82fa73f36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35f31761825f2e3cb19eba0e442563ea57f9aeb82344f3c311d8cab82fa73f36", kill_on_drop: false }`
[INFO] [stdout] 35f31761825f2e3cb19eba0e442563ea57f9aeb82344f3c311d8cab82fa73f36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67859fa2e9ace7dfdb1d8c38b48532e45d501b0695d6db8d3b6fcb9512fc2f95
[INFO] running `Command { std: "docker" "start" "-a" "67859fa2e9ace7dfdb1d8c38b48532e45d501b0695d6db8d3b6fcb9512fc2f95", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling carcinusdb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     loop {
[INFO] [stdout] 75 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 76 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 77 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |       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 plotters v0.3.7
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/sql/analyzer.rs:329:38
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]     |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             operator,
[INFO] [stdout]    |             ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/vm/operator/filter.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let left = eval(left, row, schema)?;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/vm/operator/filter.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let right = eval(right, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]    |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/vm/operator/filter.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let value = eval(expr, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]   --> src/vm/planner.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     columns: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r#where`
[INFO] [stdout]   --> src/vm/planner.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     r#where: Option<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_by`
[INFO] [stdout]   --> src/vm/planner.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     order_by: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/sql/parser/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 37 |     input: &'a str,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stdout]    --> src/sql/parser/mod.rs:73:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_row_id` is never used
[INFO] [stdout]    --> src/sql/schema.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl Schema {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn has_row_id(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_high_key` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1326:8
[INFO] [stdout]      |
[INFO] [stdout]  693 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]      | ------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1326 |     fn build_high_key(&mut self, page: &Page, entry: &BTreeKey<'_>) -> storage::Result<BTreeCell> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CellSplit` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1520:6
[INFO] [stdout]      |
[INFO] [stdout] 1520 | type CellSplit = (Option<usize>, Vec<usize>);
[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: field `read_guard` is never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReadTransaction {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     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:402:24
[INFO] [stdout]     |
[INFO] [stdout] 402 |     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] 402 |     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:456:19
[INFO] [stdout]     |
[INFO] [stdout] 456 |     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] 456 |     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:460:23
[INFO] [stdout]     |
[INFO] [stdout] 460 |     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] 460 |     fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling regex v1.12.3
[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 ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/storage/wal/mod.rs:868:9
[INFO] [stdout]     |
[INFO] [stdout] 868 |     use super::*;
[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: `super::*`
[INFO] [stdout]    --> src/storage/wal/mod.rs:868:9
[INFO] [stdout]     |
[INFO] [stdout] 868 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/database/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     loop {
[INFO] [stdout] 75 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 76 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 77 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |       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:79:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     loop {
[INFO] [stdout] 75 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stdout] 76 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stdout] 77 | |     }
[INFO] [stdout]    | |_____- any code following this expression is unreachable
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |       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: `operator`
[INFO] [stdout]    --> src/sql/analyzer.rs:329:38
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]     |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/sql/analyzer.rs:329:38
[INFO] [stdout]     |
[INFO] [stdout] 329 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]     |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (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] 
[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: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             operator,
[INFO] [stdout]    |             ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/vm/operator/filter.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let left = eval(left, row, schema)?;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/vm/operator/filter.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let right = eval(right, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]    |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/vm/operator/filter.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let value = eval(expr, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]   --> src/vm/planner.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     columns: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r#where`
[INFO] [stdout]   --> src/vm/planner.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     r#where: Option<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_by`
[INFO] [stdout]   --> src/vm/planner.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     order_by: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `input` is never read
[INFO] [stdout]   --> src/sql/parser/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 37 |     input: &'a str,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stdout]    --> src/sql/parser/mod.rs:73:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_row_id` is never used
[INFO] [stdout]    --> src/sql/schema.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl Schema {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn has_row_id(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_high_key` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1326:8
[INFO] [stdout]      |
[INFO] [stdout]  693 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]      | ------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1326 |     fn build_high_key(&mut self, page: &Page, entry: &BTreeKey<'_>) -> storage::Result<BTreeCell> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CellSplit` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1520:6
[INFO] [stdout]      |
[INFO] [stdout] 1520 | type CellSplit = (Option<usize>, Vec<usize>);
[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: field `read_guard` is never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReadTransaction {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     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:402:24
[INFO] [stdout]     |
[INFO] [stdout] 402 |     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] 402 |     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:456:19
[INFO] [stdout]     |
[INFO] [stdout] 456 |     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] 456 |     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:460:23
[INFO] [stdout]     |
[INFO] [stdout] 460 |     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] 460 |     fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                              ++++
[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] 
[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: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             operator,
[INFO] [stdout]    |             ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/vm/operator/filter.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             let left = eval(left, row, schema)?;
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/vm/operator/filter.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let right = eval(right, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]   --> src/vm/operator/filter.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stdout]    |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/vm/operator/filter.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let value = eval(expr, row, schema)?;
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]   --> src/vm/planner.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     columns: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r#where`
[INFO] [stdout]   --> src/vm/planner.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     r#where: Option<Expression>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_by`
[INFO] [stdout]   --> src/vm/planner.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     order_by: Vec<Expression>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, `Other`, and `Unknown` are never constructed
[INFO] [stdout]   --> src/database/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     InvalidHostname { msg: String, hostname: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     #[error("provided path is not file: {0}")]
[INFO] [stdout] 36 |     InvalidFilePath(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     #[error("invalid port number: {0}")]
[INFO] [stdout] 38 |     InvalidPort(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 60 |     #[error("unknown database error")]
[INFO] [stdout] 61 |     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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DatabaseTransaction` is never used
[INFO] [stdout]    --> src/database/mod.rs:237:11
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub trait DatabaseTransaction {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `catalog` is never read
[INFO] [stdout]    --> src/database/mod.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct DatabaseReadTransaction {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 246 |     catalog: Arc<Catalog>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `catalog` is never read
[INFO] [stdout]    --> src/database/mod.rs:287:5
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct DatabaseWriteTransaction<'tx> {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 287 |     catalog: Arc<Catalog>,
[INFO] [stdout]     |     ^^^^^^^
[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: function `pipeline` is never used
[INFO] [stdout]   --> src/sql/mod.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn pipeline(input: &str, catalog: &Arc<Catalog>) -> Result<Statement> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/sql/analyzer.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: multiple variants are never constructed
[INFO] [stdout]   --> src/sql/analyzer.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     MasterTableModification,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     TableAlreadyExists(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     #[error("duplicated column names. {reason}")]
[INFO] [stdout] 30 |     ContainsDuplicateNames { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     #[error("table contains multiple primary keys (support not planed).")]
[INFO] [stdout] 32 |     MultiplePrimaryKeys,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     #[error("table \"{0}\" not found")]
[INFO] [stdout] 34 |     TableNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 35 |     #[error("table contains {expected} columns, but attempted to insert {got}")]
[INFO] [stdout] 36 |     ColumnCountMismatch { expected: usize, got: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     #[error("index not marked as unique (not supported yet)")]
[INFO] [stdout] 38 |     UniqueIndexNotSupported,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     #[error("index \"{0}\" already exists. use different name or delete existing one.")]
[INFO] [stdout] 40 |     IndexAlreadyExists(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     RowIdAssignment,
[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: variants `ExpectedType` and `UnexpectedExpression` are never constructed
[INFO] [stdout]   --> src/sql/analyzer.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub enum TypeError {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 69 |     ExpectedType {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     UnexpectedExpression { expr: Expression },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze` is never used
[INFO] [stdout]   --> src/sql/analyzer.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn analyze(statement: &Statement, catalog: &Catalog) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_where` is never used
[INFO] [stdout]    --> src/sql/analyzer.rs:269:4
[INFO] [stdout]     |
[INFO] [stdout] 269 | fn analyze_where(schema: &Schema, r#where: &Option<Expression>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_assignment` is never used
[INFO] [stdout]    --> src/sql/analyzer.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn analyze_assignment(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_expression` is never used
[INFO] [stdout]    --> src/sql/analyzer.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn analyze_expression(schema: &Schema, expr: &Expression) -> Result<ValueType> {
[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/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait StatementParser {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] 24 |     fn parse_explain(&mut self) -> sql::Result<Statement>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn parse_begin(&mut self) -> sql::Result<Statement>;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 32 |     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/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 37 |     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/mod.rs:73:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  73 |     fn previous(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     fn current(&self) -> Option<&Token> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotNull` is never constructed
[INFO] [stdout]    --> src/sql/parser/statement.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub enum Constrains {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 239 |     NotNull,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Constrains` 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: associated function `new` is never used
[INFO] [stdout]    --> src/sql/parser/statement.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Column {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 274 |     pub fn new(name: &str, data_type: DataType) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Blob` and `Commit` are never constructed
[INFO] [stdout]    --> src/sql/parser/token.rs:92:5
[INFO] [stdout]     |
[INFO] [stdout]  68 | pub enum Keyword {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  92 |     Blob,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     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/parser/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/parser/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: function `prepare` is never used
[INFO] [stdout]  --> src/sql/prepare.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn prepare(statement: &mut Statement, catalog: &Catalog) -> sql::Result<()> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `count` and `values` are never used
[INFO] [stdout]   --> src/sql/record.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<'a> Record<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn values(&'a self) -> Vec<ValueRef<'a>> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_capacity` is never used
[INFO] [stdout]    --> src/sql/record.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl RecordCursor {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/sql/record.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl RecordBuilder {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn get(&self, index: usize) -> &Value {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROW_ID_COLUMN` is never used
[INFO] [stdout]   --> src/sql/schema.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const ROW_ID_COLUMN: &str = "row_id";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/sql/schema.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TableNotFound` is never constructed
[INFO] [stdout]   --> src/sql/schema.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] 27 |     #[error("table \"{0}\" not found in database.")]
[INFO] [stdout] 28 |     TableNotFound(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: field `tables` is never read
[INFO] [stdout]   --> src/sql/schema.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Catalog {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 33 |     tables: DashMap<String, TableMetadata>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Catalog` 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_table` and `get_next_row_id_of_table` are never used
[INFO] [stdout]   --> src/sql/schema.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Catalog {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 37 |     pub fn get_table(&self, name: &str) -> Result<TableMetadata> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_next_row_id_of_table(&self, name: &str) -> Result<i64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root`, `name`, `column`, `schema`, and `unique` are never read
[INFO] [stdout]    --> src/sql/schema.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct IndexMetadata {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 148 |     pub root: PageNumber,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 149 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 150 |     pub column: Column,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 151 |     pub schema: Schema,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 152 |     pub unique: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IndexMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index_of` is never used
[INFO] [stdout]    --> src/sql/schema.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl IndexMetadata {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn index_of(&self, column: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root`, `name`, and `next_row_id` are never read
[INFO] [stdout]    --> src/sql/schema.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct TableMetadata {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 179 |     pub root: PageNumber,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 180 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     next_row_id: RowId,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TableMetadata` 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: methods `len`, `column_names`, `has_row_id`, `push`, and `prepend_row_id` are never used
[INFO] [stdout]    --> src/sql/schema.rs:229:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl Schema {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn column_names(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn has_row_id(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn push(&mut self, column: Column) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn prepend_row_id(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data_type`, `properties`, and `default` are never read
[INFO] [stdout]    --> src/sql/schema.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub struct Column {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 282 |     pub name: String,
[INFO] [stdout] 283 |     pub data_type: ValueType,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 284 |     pub properties: ColumnProperties,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 285 |     pub default: Option<Value>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Column` 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: associated function `new` is never used
[INFO] [stdout]    --> src/sql/schema.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl Column {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 289 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_primary_key`, `is_null`, and `is_unique` are never used
[INFO] [stdout]    --> src/sql/schema.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 326 | impl ColumnProperties {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn is_primary_key(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn is_null(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn is_unique(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ColumnPropertiesBuilder` is never constructed
[INFO] [stdout]    --> src/sql/schema.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub struct ColumnPropertiesBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `primary_key`, `null`, `not_null`, `unique`, and `build` are never used
[INFO] [stdout]    --> src/sql/schema.rs:399:12
[INFO] [stdout]     |
[INFO] [stdout] 398 | impl ColumnPropertiesBuilder {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 399 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub fn primary_key(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn null(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 415 |     pub fn not_null(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn unique(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn build(self) -> ColumnProperties {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `value_type` is never used
[INFO] [stdout]   --> src/sql/types/mod.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl Value {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn value_type(&self) -> ValueType {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_value_type`, `to_bool`, `to_blob`, and `to_json` are never used
[INFO] [stdout]    --> src/sql/types/mod.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | impl<'a> ValueRef<'a> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn to_value_type(&self) -> ValueType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn to_bool(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn to_blob(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn to_json(&self) -> &str {
[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: 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` 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] 64 |     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 `is_index`, `is_table`, and `to_owned` are never used
[INFO] [stdout]   --> src/storage/btree.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<'a> BTreeKey<'a> {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn is_index(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn is_table(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn to_owned(&self) -> BTreeKey<'static> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `page` is never read
[INFO] [stdout]    --> src/storage/btree.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Found { page: PageNumber, slot: SlotNumber },
[INFO] [stdout]     |     -----   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field 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: field `page` is never read
[INFO] [stdout]    --> src/storage/btree.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |     NotFound { page: PageNumber, slot: SlotNumber },
[INFO] [stdout]     |     --------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field 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: variant `Index` is never constructed
[INFO] [stdout]    --> src/storage/btree.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum BTreeType {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] 135 |     Table,
[INFO] [stdout] 136 |     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: method `position` is never used
[INFO] [stdout]    --> src/storage/btree.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub trait DatabaseCursor {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 166 |     fn position(&self) -> (PageNumber, SlotNumber);
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/storage/btree.rs:582:12
[INFO] [stdout]     |
[INFO] [stdout] 581 | impl InsertOptions {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 582 |     pub fn new(flags: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_replace` and `set_returning` are never used
[INFO] [stdout]    --> src/storage/btree.rs:595:12
[INFO] [stdout]     |
[INFO] [stdout] 587 | impl InsertOptions {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 595 |     pub fn set_replace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 603 |     pub fn set_returning(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace` is never used
[INFO] [stdout]    --> src/storage/btree.rs:628:12
[INFO] [stdout]     |
[INFO] [stdout] 620 | impl InsertOptionsBuilder {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 628 |     pub fn replace(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/storage/btree.rs:646:12
[INFO] [stdout]     |
[INFO] [stdout] 645 | impl DeleteOptions {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 646 |     pub fn new(flags: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `build_high_key` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1326:8
[INFO] [stdout]      |
[INFO] [stdout]  693 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stdout]      | ------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1326 |     fn build_high_key(&mut self, page: &Page, entry: &BTreeKey<'_>) -> storage::Result<BTreeCell> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CellSplit` is never used
[INFO] [stdout]     --> src/storage/btree.rs:1520:6
[INFO] [stdout]      |
[INFO] [stdout] 1520 | type CellSplit = (Option<usize>, Vec<usize>);
[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:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | 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:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn usable_space(page_size: usize, reserved: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_freelist_pages` is never used
[INFO] [stdout]    --> src/storage/page.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl DatabaseHeader {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn get_freelist_pages(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_leaf` and `is_internal` are never used
[INFO] [stdout]    --> src/storage/page.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl PageType {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 215 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn is_internal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `storage_space` is never used
[INFO] [stdout]    --> src/storage/page.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 307 | impl Page {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 438 |     pub fn storage_space(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_free_fragment` is never used
[INFO] [stdout]    --> src/storage/page.rs:857:12
[INFO] [stdout]     |
[INFO] [stdout] 820 | impl Page {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 857 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `db_header` is never used
[INFO] [stdout]    --> src/storage/page.rs:942:12
[INFO] [stdout]     |
[INFO] [stdout] 940 | impl Page {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 941 |     /// Returns database header. Only use with page that have non-zero offset.
[INFO] [stdout] 942 |     pub fn db_header(&self) -> DatabaseHeader {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `row_id` is never read
[INFO] [stdout]     --> src/storage/page.rs:1633:9
[INFO] [stdout]      |
[INFO] [stdout] 1627 | pub struct TableInternalCell {
[INFO] [stdout]      |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1633 |     pub row_id: RowId,
[INFO] [stdout]      |         ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `TableInternalCell` 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: 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`, `set_dirty`, 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] 348 |     pub fn set_dirty(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn clear_error(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_page` is never used
[INFO] [stdout]    --> src/storage/pager.rs:553:12
[INFO] [stdout]     |
[INFO] [stdout] 405 | impl Pager {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 553 |     pub fn write_page<Tx: WriteTx>(&self, tx: &mut Tx, page: MemPageRef) -> 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:187:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl MemWalHeader {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `append_frame` is never used
[INFO] [stdout]    --> src/storage/wal/mod.rs:550:12
[INFO] [stdout]     |
[INFO] [stdout] 454 | impl WriteAheadLog {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn append_frame<Tx: WriteTx>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tx_min_frame` is never used
[INFO] [stdout]   --> src/storage/wal/transaction.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait ReadTx {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] 14 |     /// Returns min_frame stored by transaction locally.
[INFO] [stdout] 15 |     fn tx_min_frame(&self) -> FrameNumber;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `read_guard` and `min_frame` are never read
[INFO] [stdout]   --> src/storage/wal/transaction.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReadTransaction {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     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:83:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct WriteTransaction<'a> {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 83 |     pub write_guard: MutexGuard<'a, ()>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 84 |     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:24:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait FileOps {
[INFO] [stdout]    |           ------- associated items in this trait
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn create(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn open(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn remove(path: impl AsRef<Path>) -> io::Result<()>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     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:116:8
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub trait IO {
[INFO] [stdout]     |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 116 |     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:310:12
[INFO] [stdout]     |
[INFO] [stdout] 303 | impl<I: IO> BlockIO<I> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn write(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     pub fn truncate_beginning(&self, up_to_block_number: BlockNumber) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/vm/mod.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Error` is never used
[INFO] [stdout]   --> src/vm/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Error {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Row` is never used
[INFO] [stdout]  --> src/vm/operator/mod.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type Row = Record<'static>;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Operator` is never used
[INFO] [stdout]   --> src/vm/operator/mod.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Operator {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filter` is never constructed
[INFO] [stdout]  --> src/vm/operator/filter.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Filter {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]   --> src/vm/operator/filter.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn eval(expr: &Expression, row: &Row, schema: &Schema) -> vm::Result<Value> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SeqScan` is never constructed
[INFO] [stdout]   --> src/vm/operator/seq_scan.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SeqScan<'tx, Tx: ReadTx> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/vm/operator/seq_scan.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<'tx, Tx: ReadTx> SeqScan<'tx, Tx> {
[INFO] [stdout]    | -------------------------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(cursor: BTreeCursor<'tx, Tx>, schema: Schema) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExecutionPlan` is never used
[INFO] [stdout]  --> src/vm/planner.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ExecutionPlan<'tx> {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plan` is never used
[INFO] [stdout]   --> src/vm/planner.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn plan<'tx, Tx: DatabaseTransaction>(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plan_select` is never used
[INFO] [stdout]   --> src/vm/planner.rs:89:4
[INFO] [stdout]    |
[INFO] [stdout] 89 | fn plan_select<'tx, Tx: DatabaseTransaction>(
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryResult` is never used
[INFO] [stdout]  --> src/vm/query_result.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum QueryResult<'tx> {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RowIterator` is never constructed
[INFO] [stdout]   --> src/vm/query_result.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RowIterator<'tx> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/storage/page.rs:402:24
[INFO] [stdout]     |
[INFO] [stdout] 402 |     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] 402 |     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:456:19
[INFO] [stdout]     |
[INFO] [stdout] 456 |     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] 456 |     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:460:23
[INFO] [stdout]     |
[INFO] [stdout] 460 |     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] 460 |     fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 30.42s
[INFO] running `Command { std: "docker" "inspect" "67859fa2e9ace7dfdb1d8c38b48532e45d501b0695d6db8d3b6fcb9512fc2f95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67859fa2e9ace7dfdb1d8c38b48532e45d501b0695d6db8d3b6fcb9512fc2f95", kill_on_drop: false }`
[INFO] [stdout] 67859fa2e9ace7dfdb1d8c38b48532e45d501b0695d6db8d3b6fcb9512fc2f95
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] daca70a25b3b4fb3679dd4029938962dc69882c239965adbcac22e1848f0b07f
[INFO] running `Command { std: "docker" "start" "-a" "daca70a25b3b4fb3679dd4029938962dc69882c239965adbcac22e1848f0b07f", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]   --> src/database/mod.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | /     loop {
[INFO] [stderr] 75 | |         let conn = tcp_server.accept_connection().await?;
[INFO] [stderr] 76 | |         tokio::spawn(async move { handle_connection(conn) });
[INFO] [stderr] 77 | |     }
[INFO] [stderr]    | |_____- any code following this expression is unreachable
[INFO] [stderr] 78 |
[INFO] [stderr] 79 |       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: unused variable: `operator`
[INFO] [stderr]    --> src/sql/analyzer.rs:329:38
[INFO] [stderr]     |
[INFO] [stderr] 329 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stderr]     |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `operator`
[INFO] [stderr]   --> src/vm/operator/filter.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |             operator,
[INFO] [stderr]    |             ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `left`
[INFO] [stderr]   --> src/vm/operator/filter.rs:48:17
[INFO] [stderr]    |
[INFO] [stderr] 48 |             let left = eval(left, row, schema)?;
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]   --> src/vm/operator/filter.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |             let right = eval(right, row, schema)?;
[INFO] [stderr]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `operator`
[INFO] [stderr]   --> src/vm/operator/filter.rs:54:38
[INFO] [stderr]    |
[INFO] [stderr] 54 |         Expression::UnaryOperation { operator, expr } => {
[INFO] [stderr]    |                                      ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> src/vm/operator/filter.rs:55:17
[INFO] [stderr]    |
[INFO] [stderr] 55 |             let value = eval(expr, row, schema)?;
[INFO] [stderr]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `columns`
[INFO] [stderr]   --> src/vm/planner.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     columns: Vec<Expression>,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r#where`
[INFO] [stderr]   --> src/vm/planner.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     r#where: Option<Expression>,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_where`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `order_by`
[INFO] [stderr]   --> src/vm/planner.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 |     order_by: Vec<Expression>,
[INFO] [stderr]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_by`
[INFO] [stderr] 
[INFO] [stderr] warning: field `input` is never read
[INFO] [stderr]   --> src/sql/parser/mod.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct Parser<'a> {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 37 |     input: &'a str,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used
[INFO] [stderr]    --> src/sql/parser/mod.rs:73:8
[INFO] [stderr]     |
[INFO] [stderr]  47 | impl<'a> Parser<'a> {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  73 |     fn previous(&self) -> Option<&Token> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     fn current(&self) -> Option<&Token> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 184 |     fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> sql::Result<Keyword>
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 384 |     fn parse_constrains(&mut self) -> sql::Result<Constrains> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `has_row_id` is never used
[INFO] [stderr]    --> src/sql/schema.rs:241:8
[INFO] [stderr]     |
[INFO] [stderr] 214 | impl Schema {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 241 |     fn has_row_id(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `build_high_key` is never used
[INFO] [stderr]     --> src/storage/btree.rs:1326:8
[INFO] [stderr]      |
[INFO] [stderr]  693 | impl<'tx, Tx: WriteTx> BTreeCursor<'tx, Tx> {
[INFO] [stderr]      | ------------------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1326 |     fn build_high_key(&mut self, page: &Page, entry: &BTreeKey<'_>) -> storage::Result<BTreeCell> {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `CellSplit` is never used
[INFO] [stderr]     --> src/storage/btree.rs:1520:6
[INFO] [stderr]      |
[INFO] [stderr] 1520 | type CellSplit = (Option<usize>, Vec<usize>);
[INFO] [stderr]      |      ^^^^^^^^^
[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 `read_guard` is never read
[INFO] [stderr]   --> src/storage/wal/transaction.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct ReadTransaction {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 38 |     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:402:24
[INFO] [stderr]     |
[INFO] [stderr] 402 |     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] 402 |     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:456:19
[INFO] [stderr]     |
[INFO] [stderr] 456 |     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] 456 |     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:460:23
[INFO] [stderr]     |
[INFO] [stderr] 460 |     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] 460 |     fn freeblock_list(&self) -> FreeblockList<'_> {
[INFO] [stderr]     |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `carcinusdb` (lib) generated 20 warnings (run `cargo fix --lib -p carcinusdb` to apply 12 suggestions)
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/storage/wal/mod.rs:868:9
[INFO] [stderr]     |
[INFO] [stderr] 868 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[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] 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: variants `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, `Other`, and `Unknown` are never constructed
[INFO] [stderr]   --> src/database/mod.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub enum Error {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 34 |     InvalidHostname { msg: String, hostname: String },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 35 |     #[error("provided path is not file: {0}")]
[INFO] [stderr] 36 |     InvalidFilePath(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 37 |     #[error("invalid port number: {0}")]
[INFO] [stderr] 38 |     InvalidPort(String),
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     Other(String),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 60 |     #[error("unknown database error")]
[INFO] [stderr] 61 |     Unknown,
[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]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `DatabaseTransaction` is never used
[INFO] [stderr]    --> src/database/mod.rs:237:11
[INFO] [stderr]     |
[INFO] [stderr] 237 | pub trait DatabaseTransaction {
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `catalog` is never read
[INFO] [stderr]    --> src/database/mod.rs:246:5
[INFO] [stderr]     |
[INFO] [stderr] 243 | pub struct DatabaseReadTransaction {
[INFO] [stderr]     |            ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 246 |     catalog: Arc<Catalog>,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `catalog` is never read
[INFO] [stderr]    --> src/database/mod.rs:287:5
[INFO] [stderr]     |
[INFO] [stderr] 284 | pub struct DatabaseWriteTransaction<'tx> {
[INFO] [stderr]     |            ------------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 287 |     catalog: Arc<Catalog>,
[INFO] [stderr]     |     ^^^^^^^
[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: function `pipeline` is never used
[INFO] [stderr]   --> src/sql/mod.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn pipeline(input: &str, catalog: &Arc<Catalog>) -> Result<Statement> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Result` is never used
[INFO] [stderr]   --> src/sql/analyzer.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/sql/analyzer.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub enum Error {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 24 |     MasterTableModification,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     TableAlreadyExists(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 29 |     #[error("duplicated column names. {reason}")]
[INFO] [stderr] 30 |     ContainsDuplicateNames { reason: String },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 31 |     #[error("table contains multiple primary keys (support not planed).")]
[INFO] [stderr] 32 |     MultiplePrimaryKeys,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 |     #[error("table \"{0}\" not found")]
[INFO] [stderr] 34 |     TableNotFound(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 35 |     #[error("table contains {expected} columns, but attempted to insert {got}")]
[INFO] [stderr] 36 |     ColumnCountMismatch { expected: usize, got: usize },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 37 |     #[error("index not marked as unique (not supported yet)")]
[INFO] [stderr] 38 |     UniqueIndexNotSupported,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 39 |     #[error("index \"{0}\" already exists. use different name or delete existing one.")]
[INFO] [stderr] 40 |     IndexAlreadyExists(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     RowIdAssignment,
[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: variants `ExpectedType` and `UnexpectedExpression` are never constructed
[INFO] [stderr]   --> src/sql/analyzer.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub enum TypeError {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 69 |     ExpectedType {
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74 |     UnexpectedExpression { expr: Expression },
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TypeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `analyze` is never used
[INFO] [stderr]   --> src/sql/analyzer.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub fn analyze(statement: &Statement, catalog: &Catalog) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `analyze_where` is never used
[INFO] [stderr]    --> src/sql/analyzer.rs:269:4
[INFO] [stderr]     |
[INFO] [stderr] 269 | fn analyze_where(schema: &Schema, r#where: &Option<Expression>) -> Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `analyze_assignment` is never used
[INFO] [stderr]    --> src/sql/analyzer.rs:284:4
[INFO] [stderr]     |
[INFO] [stderr] 284 | fn analyze_assignment(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `analyze_expression` is never used
[INFO] [stderr]    --> src/sql/analyzer.rs:317:4
[INFO] [stderr]     |
[INFO] [stderr] 317 | fn analyze_expression(schema: &Schema, expr: &Expression) -> Result<ValueType> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `parse_explain`, `parse_begin`, and `parse_commit` are never used
[INFO] [stderr]   --> src/sql/parser/mod.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub trait StatementParser {
[INFO] [stderr]    |           --------------- methods in this trait
[INFO] [stderr] 24 |     fn parse_explain(&mut self) -> sql::Result<Statement>;
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     fn parse_begin(&mut self) -> sql::Result<Statement>;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 32 |     fn parse_commit(&mut self) -> sql::Result<Statement>;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `input` is never read
[INFO] [stderr]   --> src/sql/parser/mod.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct Parser<'a> {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 37 |     input: &'a str,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `NotNull` is never constructed
[INFO] [stderr]    --> src/sql/parser/statement.rs:239:5
[INFO] [stderr]     |
[INFO] [stderr] 236 | pub enum Constrains {
[INFO] [stderr]     |          ---------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 239 |     NotNull,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Constrains` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/sql/parser/statement.rs:274:12
[INFO] [stderr]     |
[INFO] [stderr] 273 | impl Column {
[INFO] [stderr]     | ----------- associated function in this implementation
[INFO] [stderr] 274 |     pub fn new(name: &str, data_type: DataType) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Blob` and `Commit` are never constructed
[INFO] [stderr]    --> src/sql/parser/token.rs:92:5
[INFO] [stderr]     |
[INFO] [stderr]  68 | pub enum Keyword {
[INFO] [stderr]     |          ------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  92 |     Blob,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     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/parser/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/parser/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: function `prepare` is never used
[INFO] [stderr]  --> src/sql/prepare.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn prepare(statement: &mut Statement, catalog: &Catalog) -> sql::Result<()> {
[INFO] [stderr]   |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `count` and `values` are never used
[INFO] [stderr]   --> src/sql/record.rs:53:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl<'a> Record<'a> {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn count(&self) -> usize {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub fn values(&'a self) -> Vec<ValueRef<'a>> {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_capacity` is never used
[INFO] [stderr]    --> src/sql/record.rs:124:12
[INFO] [stderr]     |
[INFO] [stderr] 114 | impl RecordCursor {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 124 |     pub fn with_capacity(capacity: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get` is never used
[INFO] [stderr]    --> src/sql/record.rs:282:12
[INFO] [stderr]     |
[INFO] [stderr] 196 | impl RecordBuilder {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 282 |     pub fn get(&self, index: usize) -> &Value {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROW_ID_COLUMN` is never used
[INFO] [stderr]   --> src/sql/schema.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const ROW_ID_COLUMN: &str = "row_id";
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Result` is never used
[INFO] [stderr]   --> src/sql/schema.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TableNotFound` is never constructed
[INFO] [stderr]   --> src/sql/schema.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum Error {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] 27 |     #[error("table \"{0}\" not found in database.")]
[INFO] [stderr] 28 |     TableNotFound(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: field `tables` is never read
[INFO] [stderr]   --> src/sql/schema.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct Catalog {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 33 |     tables: DashMap<String, TableMetadata>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Catalog` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_table` and `get_next_row_id_of_table` are never used
[INFO] [stderr]   --> src/sql/schema.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 36 | impl Catalog {
[INFO] [stderr]    | ------------ methods in this implementation
[INFO] [stderr] 37 |     pub fn get_table(&self, name: &str) -> Result<TableMetadata> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn get_next_row_id_of_table(&self, name: &str) -> Result<i64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `root`, `name`, `column`, `schema`, and `unique` are never read
[INFO] [stderr]    --> src/sql/schema.rs:148:9
[INFO] [stderr]     |
[INFO] [stderr] 147 | pub struct IndexMetadata {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] 148 |     pub root: PageNumber,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 149 |     pub name: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 150 |     pub column: Column,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 151 |     pub schema: Schema,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 152 |     pub unique: bool,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `IndexMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `index_of` is never used
[INFO] [stderr]    --> src/sql/schema.rs:172:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | impl IndexMetadata {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn index_of(&self, column: &str) -> Option<usize> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `root`, `name`, and `next_row_id` are never read
[INFO] [stderr]    --> src/sql/schema.rs:179:9
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub struct TableMetadata {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] 179 |     pub root: PageNumber,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 180 |     pub name: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 183 |     next_row_id: RowId,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TableMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `len`, `column_names`, `has_row_id`, `push`, and `prepend_row_id` are never used
[INFO] [stderr]    --> src/sql/schema.rs:229:12
[INFO] [stderr]     |
[INFO] [stderr] 214 | impl Schema {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 229 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 233 |     pub fn column_names(&self) -> Vec<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 241 |     fn has_row_id(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 249 |     pub fn push(&mut self, column: Column) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     pub fn prepend_row_id(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `data_type`, `properties`, and `default` are never read
[INFO] [stderr]    --> src/sql/schema.rs:283:9
[INFO] [stderr]     |
[INFO] [stderr] 281 | pub struct Column {
[INFO] [stderr]     |            ------ fields in this struct
[INFO] [stderr] 282 |     pub name: String,
[INFO] [stderr] 283 |     pub data_type: ValueType,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 284 |     pub properties: ColumnProperties,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 285 |     pub default: Option<Value>,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Column` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/sql/schema.rs:289:12
[INFO] [stderr]     |
[INFO] [stderr] 288 | impl Column {
[INFO] [stderr]     | ----------- associated function in this implementation
[INFO] [stderr] 289 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_primary_key`, `is_null`, and `is_unique` are never used
[INFO] [stderr]    --> src/sql/schema.rs:331:12
[INFO] [stderr]     |
[INFO] [stderr] 326 | impl ColumnProperties {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 331 |     pub fn is_primary_key(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 339 |     pub fn is_null(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 351 |     pub fn is_unique(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ColumnPropertiesBuilder` is never constructed
[INFO] [stderr]    --> src/sql/schema.rs:394:12
[INFO] [stderr]     |
[INFO] [stderr] 394 | pub struct ColumnPropertiesBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `primary_key`, `null`, `not_null`, `unique`, and `build` are never used
[INFO] [stderr]    --> src/sql/schema.rs:399:12
[INFO] [stderr]     |
[INFO] [stderr] 398 | impl ColumnPropertiesBuilder {
[INFO] [stderr]     | ---------------------------- associated items in this implementation
[INFO] [stderr] 399 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 405 |     pub fn primary_key(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 410 |     pub fn null(mut self) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 415 |     pub fn not_null(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 420 |     pub fn unique(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 425 |     pub fn build(self) -> ColumnProperties {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `value_type` is never used
[INFO] [stderr]   --> src/sql/types/mod.rs:84:12
[INFO] [stderr]    |
[INFO] [stderr] 73 | impl Value {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn value_type(&self) -> ValueType {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `to_value_type`, `to_bool`, `to_blob`, and `to_json` are never used
[INFO] [stderr]    --> src/sql/types/mod.rs:268:12
[INFO] [stderr]     |
[INFO] [stderr] 257 | impl<'a> ValueRef<'a> {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 268 |     pub fn to_value_type(&self) -> ValueType {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 278 |     pub fn to_bool(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 292 |     pub fn to_blob(&self) -> &[u8] {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 309 |     pub fn to_json(&self) -> &str {
[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` 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] 64 |     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 `is_index`, `is_table`, and `to_owned` are never used
[INFO] [stderr]   --> src/storage/btree.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | impl<'a> BTreeKey<'a> {
[INFO] [stderr]    | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub fn is_index(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn is_table(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74 |     pub fn to_owned(&self) -> BTreeKey<'static> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `page` is never read
[INFO] [stderr]    --> src/storage/btree.rs:120:13
[INFO] [stderr]     |
[INFO] [stderr] 120 |     Found { page: PageNumber, slot: SlotNumber },
[INFO] [stderr]     |     -----   ^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field 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: field `page` is never read
[INFO] [stderr]    --> src/storage/btree.rs:121:16
[INFO] [stderr]     |
[INFO] [stderr] 121 |     NotFound { page: PageNumber, slot: SlotNumber },
[INFO] [stderr]     |     --------   ^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field 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: variant `Index` is never constructed
[INFO] [stderr]    --> src/storage/btree.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub enum BTreeType {
[INFO] [stderr]     |          --------- variant in this enum
[INFO] [stderr] 135 |     Table,
[INFO] [stderr] 136 |     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: method `position` is never used
[INFO] [stderr]    --> src/storage/btree.rs:166:8
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub trait DatabaseCursor {
[INFO] [stderr]     |           -------------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 166 |     fn position(&self) -> (PageNumber, SlotNumber);
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/storage/btree.rs:582:12
[INFO] [stderr]     |
[INFO] [stderr] 581 | impl InsertOptions {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] 582 |     pub fn new(flags: usize) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_replace` and `set_returning` are never used
[INFO] [stderr]    --> src/storage/btree.rs:595:12
[INFO] [stderr]     |
[INFO] [stderr] 587 | impl InsertOptions {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 595 |     pub fn set_replace(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 603 |     pub fn set_returning(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `replace` is never used
[INFO] [stderr]    --> src/storage/btree.rs:628:12
[INFO] [stderr]     |
[INFO] [stderr] 620 | impl InsertOptionsBuilder {
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 628 |     pub fn replace(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/storage/btree.rs:646:12
[INFO] [stderr]     |
[INFO] [stderr] 645 | impl DeleteOptions {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] 646 |     pub fn new(flags: usize) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_PAGE_SIZE` is never used
[INFO] [stderr]   --> src/storage/page.rs:29:11
[INFO] [stderr]    |
[INFO] [stderr] 29 | 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:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn usable_space(page_size: usize, reserved: usize) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_freelist_pages` is never used
[INFO] [stderr]    --> src/storage/page.rs:141:12
[INFO] [stderr]     |
[INFO] [stderr] 124 | impl DatabaseHeader {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 141 |     pub fn get_freelist_pages(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_leaf` and `is_internal` are never used
[INFO] [stderr]    --> src/storage/page.rs:215:12
[INFO] [stderr]     |
[INFO] [stderr] 214 | impl PageType {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] 215 |     pub fn is_leaf(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn is_internal(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `storage_space` is never used
[INFO] [stderr]    --> src/storage/page.rs:438:12
[INFO] [stderr]     |
[INFO] [stderr] 307 | impl Page {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 438 |     pub fn storage_space(&self) -> u16 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `add_free_fragment` is never used
[INFO] [stderr]    --> src/storage/page.rs:857:12
[INFO] [stderr]     |
[INFO] [stderr] 820 | impl Page {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 857 |     pub fn add_free_fragment(&self, value: u8) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `db_header` is never used
[INFO] [stderr]    --> src/storage/page.rs:942:12
[INFO] [stderr]     |
[INFO] [stderr] 940 | impl Page {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] 941 |     /// Returns database header. Only use with page that have non-zero offset.
[INFO] [stderr] 942 |     pub fn db_header(&self) -> DatabaseHeader {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `row_id` is never read
[INFO] [stderr]     --> src/storage/page.rs:1633:9
[INFO] [stderr]      |
[INFO] [stderr] 1627 | pub struct TableInternalCell {
[INFO] [stderr]      |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1633 |     pub row_id: RowId,
[INFO] [stderr]      |         ^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `TableInternalCell` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[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`, `set_dirty`, 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] 348 |     pub fn set_dirty(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 356 |     pub fn clear_error(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `write_page` is never used
[INFO] [stderr]    --> src/storage/pager.rs:553:12
[INFO] [stderr]     |
[INFO] [stderr] 405 | impl Pager {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 553 |     pub fn write_page<Tx: WriteTx>(&self, tx: &mut Tx, page: MemPageRef) -> storage::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_db_size` is never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:187:12
[INFO] [stderr]     |
[INFO] [stderr] 142 | impl MemWalHeader {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 187 |     pub fn set_db_size(&self, value: u32) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `append_frame` is never used
[INFO] [stderr]    --> src/storage/wal/mod.rs:550:12
[INFO] [stderr]     |
[INFO] [stderr] 454 | impl WriteAheadLog {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 550 |     pub fn append_frame<Tx: WriteTx>(
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `tx_min_frame` is never used
[INFO] [stderr]   --> src/storage/wal/transaction.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub trait ReadTx {
[INFO] [stderr]    |           ------ method in this trait
[INFO] [stderr] 14 |     /// Returns min_frame stored by transaction locally.
[INFO] [stderr] 15 |     fn tx_min_frame(&self) -> FrameNumber;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `read_guard` and `min_frame` are never read
[INFO] [stderr]   --> src/storage/wal/transaction.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct ReadTransaction {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 38 |     read_guard: SlotGuard<READERS_NUM>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     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:83:9
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub struct WriteTransaction<'a> {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] 83 |     pub write_guard: MutexGuard<'a, ()>,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 84 |     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:24:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub trait FileOps {
[INFO] [stderr]    |           ------- associated items in this trait
[INFO] [stderr] ...
[INFO] [stderr] 24 |     fn create(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     fn open(path: impl AsRef<Path>) -> io::Result<Self>
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     fn remove(path: impl AsRef<Path>) -> io::Result<()>;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     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:116:8
[INFO] [stderr]     |
[INFO] [stderr]  92 | pub trait IO {
[INFO] [stderr]     |           -- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 116 |     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:310:12
[INFO] [stderr]     |
[INFO] [stderr] 303 | impl<I: IO> BlockIO<I> {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 310 |     pub fn read_header(&self, buffer: &mut [u8]) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 343 |     pub fn write(
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 391 |     pub fn truncate_beginning(&self, up_to_block_number: BlockNumber) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Result` is never used
[INFO] [stderr]   --> src/vm/mod.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stderr]    |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Error` is never used
[INFO] [stderr]   --> src/vm/mod.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum Error {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Row` is never used
[INFO] [stderr]  --> src/vm/operator/mod.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub type Row = Record<'static>;
[INFO] [stderr]   |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Operator` is never used
[INFO] [stderr]   --> src/vm/operator/mod.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub trait Operator {
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Filter` is never constructed
[INFO] [stderr]  --> src/vm/operator/filter.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct Filter {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `eval` is never used
[INFO] [stderr]   --> src/vm/operator/filter.rs:32:4
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn eval(expr: &Expression, row: &Row, schema: &Schema) -> vm::Result<Value> {
[INFO] [stderr]    |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SeqScan` is never constructed
[INFO] [stderr]   --> src/vm/operator/seq_scan.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct SeqScan<'tx, Tx: ReadTx> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/vm/operator/seq_scan.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl<'tx, Tx: ReadTx> SeqScan<'tx, Tx> {
[INFO] [stderr]    | -------------------------------------- associated function in this implementation
[INFO] [stderr] 20 |     pub fn new(cursor: BTreeCursor<'tx, Tx>, schema: Schema) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ExecutionPlan` is never used
[INFO] [stderr]  --> src/vm/planner.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum ExecutionPlan<'tx> {
[INFO] [stderr]   |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `plan` is never used
[INFO] [stderr]   --> src/vm/planner.rs:40:8
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn plan<'tx, Tx: DatabaseTransaction>(
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `plan_select` is never used
[INFO] [stderr]   --> src/vm/planner.rs:89:4
[INFO] [stderr]    |
[INFO] [stderr] 89 | fn plan_select<'tx, Tx: DatabaseTransaction>(
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `QueryResult` is never used
[INFO] [stderr]  --> src/vm/query_result.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub enum QueryResult<'tx> {
[INFO] [stderr]   |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RowIterator` is never constructed
[INFO] [stderr]   --> src/vm/query_result.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct RowIterator<'tx> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `carcinusdb` (lib test) generated 23 warnings (20 duplicates) (run `cargo fix --lib -p carcinusdb --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `carcinusdb` (bin "carcinusdb" test) generated 126 warnings (20 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/carcinusdb-d9671792336de092)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test sql::parser::tokenizer::tests::test_tokenize ... ok
[INFO] [stdout] test sql::record::tests::test_record ... ok
[INFO] [stdout] test sql::record::tests::test_record_builder ... ok
[INFO] [stdout] test sql::types::tests::test_value_comparison ... ok
[INFO] [stdout] test storage::btree::tests::test_split_ratio ... ok
[INFO] [stdout] test storage::page::tests::test_page ... 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 storage::page::tests::test_min_max ... 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 utils::debug_table::tests::test_debug_table ... ok
[INFO] [stdout] test utils::bytes::tests::test_varint ... ok
[INFO] [stdout] test database::tests::test_insert ... FAILED
[INFO] [stdout] test database::tests::test_linear_scan ... FAILED
[INFO] [stdout] test database::tests::test_search ... FAILED
[INFO] [stdout] test database::tests::test_delete ... FAILED
[INFO] [stdout] test sql::tests::test_pipeline ... FAILED
[INFO] [stdout] test sql::parser::tests::main_test ... FAILED
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- database::tests::test_insert stdout ----
[INFO] [stdout] Error: attempted to set a logger after the logging system was already initialized
[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.102/src/backtrace.rs:10: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/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: carcinusdb::database::tests::test_insert
[INFO] [stdout]              at ./src/database/mod.rs:349:9
[INFO] [stdout]    3: carcinusdb::database::tests::test_insert::{{closure}}
[INFO] [stdout]              at ./src/database/mod.rs:348:25
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] ---- database::tests::test_linear_scan 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.102/src/backtrace.rs:10: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/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: carcinusdb::database::tests::test_linear_scan
[INFO] [stdout]              at ./src/database/mod.rs:421:18
[INFO] [stdout]    3: carcinusdb::database::tests::test_linear_scan::{{closure}}
[INFO] [stdout]              at ./src/database/mod.rs:418:30
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] ---- database::tests::test_search stdout ----
[INFO] [stdout] Error: attempted to set a logger after the logging system was already initialized
[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.102/src/backtrace.rs:10: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/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: carcinusdb::database::tests::test_search
[INFO] [stdout]              at ./src/database/mod.rs:389:9
[INFO] [stdout]    3: carcinusdb::database::tests::test_search::{{closure}}
[INFO] [stdout]              at ./src/database/mod.rs:388:25
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] ---- database::tests::test_delete stdout ----
[INFO] [stdout] Error: attempted to set a logger after the logging system was already initialized
[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.102/src/backtrace.rs:10: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/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: carcinusdb::database::tests::test_delete
[INFO] [stdout]              at ./src/database/mod.rs:447:9
[INFO] [stdout]    3: carcinusdb::database::tests::test_delete::{{closure}}
[INFO] [stdout]              at ./src/database/mod.rs:446:25
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] ---- sql::tests::test_pipeline stdout ----
[INFO] [stdout] Error: unexpected token: ..
[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.102/src/backtrace.rs:10: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/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:2189:27
[INFO] [stdout]    2: carcinusdb::sql::tests::test_pipeline
[INFO] [stdout]              at ./src/sql/mod.rs:84:29
[INFO] [stdout]    3: carcinusdb::sql::tests::test_pipeline::{{closure}}
[INFO] [stdout]              at ./src/sql/mod.rs:81:27
[INFO] [stdout]    4: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] ---- sql::parser::tests::main_test stdout ----
[INFO] [stdout] SELECT col_1, col_2, col_3 FROM test WHERE col_1 = (2 + 2 * 2) ORDER BY col_3, col_2
[INFO] [stdout] INSERT INTO test (col_1, col_2, col_3) VALUES (1, 2, 3), (4, 5, 6)
[INFO] [stdout] UPDATE test SET name = "Maciek", age = 20 WHERE age >= 30
[INFO] [stdout] DELETE FROM test WHERE age >= 30
[INFO] [stdout] 
[INFO] [stdout] thread 'sql::parser::tests::main_test' (29) panicked at src/sql/parser/mod.rs:682:49:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Expected { expected: SemiColon, found: LeftParen }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e3ddc60b3da - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e3ddc60b3da - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e3ddc60b3da - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e3ddc60b3da - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e3ddc620cca - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e3ddc620cca - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5e3ddc6102f2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e3ddc6102f2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e3ddc5e9c4f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e3ddc5e9c4f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e3ddc603749 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e3ddc57d0fc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5e3ddc57d0fc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e3ddc603902 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5e3ddc603902 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e3ddc5e9d08 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e3ddc5e1119 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e3ddc5eab0d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e3ddc6215dc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e3ddc621322 - core[10b6fa85044e1869]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5e3ddc46cec9 - core::result::Result<T,E>::unwrap::hd7210ec2642a3576
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5e3ddc46cec9 - carcinusdb::sql::parser::tests::main_test::h94603acd6907e595
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sql/parser/mod.rs:682:49
[INFO] [stdout]   22:     0x5e3ddc46d477 - carcinusdb::sql::parser::tests::main_test::{{closure}}::hddd877ec8bdcacfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sql/parser/mod.rs:658:23
[INFO] [stdout]   23:     0x5e3ddc462896 - core::ops::function::FnOnce::call_once::h1a758d66fbef7e0e
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e3ddc5711db - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e3ddc5711db - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5e3ddc57dbcb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5e3ddc57dbcb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5e3ddc57dbcb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5e3ddc57dbcb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5e3ddc57dbcb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5e3ddc57dbcb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5e3ddc57dbcb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5e3ddc5792e4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5e3ddc5792e4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5e3ddc5807d2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5e3ddc5807d2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5e3ddc5807d2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5e3ddc5807d2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5e3ddc5807d2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5e3ddc5807d2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5e3ddc5807d2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5e3ddc60acbf - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5e3ddc60acbf - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x769d015c8aa4 - <unknown>
[INFO] [stdout]   45:     0x769d01655a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     database::tests::test_delete
[INFO] [stdout]     database::tests::test_insert
[INFO] [stdout]     database::tests::test_linear_scan
[INFO] [stdout]     database::tests::test_search
[INFO] [stdout]     sql::parser::tests::main_test
[INFO] [stdout]     sql::tests::test_pipeline
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 18 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "daca70a25b3b4fb3679dd4029938962dc69882c239965adbcac22e1848f0b07f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "daca70a25b3b4fb3679dd4029938962dc69882c239965adbcac22e1848f0b07f", kill_on_drop: false }`
[INFO] [stdout] daca70a25b3b4fb3679dd4029938962dc69882c239965adbcac22e1848f0b07f
