[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] 1a4f5a731528ce4306d41ce4b3b79bb36709bc3a [INFO] building Myster987/carcinusdb against try#58b1b3c5342a414c161338871f8004258ccef2a7 for pr-149937 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMyster987%2Fcarcinusdb" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-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-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Myster987/carcinusdb on toolchain 58b1b3c5342a414c161338871f8004258ccef2a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "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" "+58b1b3c5342a414c161338871f8004258ccef2a7" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 116 packages to latest Rust 1.94.0-nightly compatible versions [INFO] [stderr] Adding criterion v0.5.1 (available: v0.8.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded criterion-plot v0.5.0 [INFO] [stderr] Downloaded itoa v1.0.16 [INFO] [stderr] Downloaded serde_json v1.0.147 [INFO] [stderr] Downloaded zmij v0.1.8 [INFO] [stderr] Downloaded criterion v0.5.1 [INFO] [stderr] Downloaded simple_logger v5.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 647287ebf7d4248cd06fdad697d51399a5c680c6242353d2194bce9308db5251 [INFO] running `Command { std: "docker" "start" "-a" "647287ebf7d4248cd06fdad697d51399a5c680c6242353d2194bce9308db5251", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "647287ebf7d4248cd06fdad697d51399a5c680c6242353d2194bce9308db5251", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "647287ebf7d4248cd06fdad697d51399a5c680c6242353d2194bce9308db5251", kill_on_drop: false }` [INFO] [stdout] 647287ebf7d4248cd06fdad697d51399a5c680c6242353d2194bce9308db5251 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 33064e2222b8ada3477ce652804e85a4615a6a812dc93f3aa3d5f4ac65207810 [INFO] running `Command { std: "docker" "start" "-a" "33064e2222b8ada3477ce652804e85a4615a6a812dc93f3aa3d5f4ac65207810", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling itoa v1.0.16 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.7 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling simple_logger v5.1.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling carcinusdb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::error::DatabaseResult` [INFO] [stdout] --> src/tcp/server/connection.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::error::DatabaseResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/utils/bytes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/database/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 38 | / loop { [INFO] [stdout] 39 | | let conn = tcp_server.accept_connection().await?; [INFO] [stdout] 40 | | tokio::spawn(async move { handle_connection(conn) }); [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/storage/page.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | let mut total = self.free_space() + self.free_fragments() as u16; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/sql/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Parser<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 27 | input: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used [INFO] [stdout] --> src/sql/parser.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | fn previous(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn current(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn parse_constrains(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `kind` is never read [INFO] [stdout] --> src/sql/types/text.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct TextRef<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 71 | value: &'a str, [INFO] [stdout] 72 | kind: TextKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root` and `pager` are never read [INFO] [stdout] --> src/storage/btree.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct BTree { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 63 | root: PageNumber, [INFO] [stdout] | ^^^^ [INFO] [stdout] 64 | [INFO] [stdout] 65 | pager: Pager, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `put` is never used [INFO] [stdout] --> src/storage/buffer_pool.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 66 | impl LocalBufferPool { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | fn put(&mut self, mem: NonNull) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write_u32_no_offset` and `write_u32` are never used [INFO] [stdout] --> src/storage/page.rs:282:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl Page { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 282 | fn write_u32_no_offset(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn write_u32(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semaphore` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Semaphore { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used [INFO] [stdout] --> src/storage/wal/locks.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Semaphore { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(initial: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn release(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `min_active_frame` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl ReadersPool { [INFO] [stdout] | ------------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn min_active_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:242:24 [INFO] [stdout] | [INFO] [stdout] 242 | 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] 242 | 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:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:383:27 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 564 | let _ = write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | self.try_insert_cell(index, new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 571 | let _ = self.try_insert_cell(index, new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:463:26 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [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] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:479:27 [INFO] [stdout] | [INFO] [stdout] 479 | pub fn begin_write_tx(&mut self) -> StorageResult { [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] 479 | pub fn begin_write_tx(&mut self) -> StorageResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::error::DatabaseResult` [INFO] [stdout] --> src/tcp/server/connection.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::error::DatabaseResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/utils/bytes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/database/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 38 | / loop { [INFO] [stdout] 39 | | let conn = tcp_server.accept_connection().await?; [INFO] [stdout] 40 | | tokio::spawn(async move { handle_connection(conn) }); [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/storage/page.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | let mut total = self.free_space() + self.free_fragments() as u16; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOBAL_INIT_POOL_SIZE` is never used [INFO] [stdout] --> src/database/mod.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const GLOBAL_INIT_POOL_SIZE: usize = 250; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCAL_INIT_POOL_SIZE` is never used [INFO] [stdout] --> src/database/mod.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const LOCAL_INIT_POOL_SIZE: usize = 40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemDatabaseHeader` is never constructed [INFO] [stdout] --> src/database/mod.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct MemDatabaseHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/database/mod.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl MemDatabaseHeader { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 64 | pub fn into_raw_header(&self) -> DatabaseHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_change_counter(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_database_size(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_freelist_trunk_page(&self) -> PageNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get_freelist_pages(&self) -> PageNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn increment_change_counter(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn add_database_size(&self, add: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn set_freelist_trunk_page(&self, page_number: PageNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_freelist_pages(&self, value: PageNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Database` is never constructed [INFO] [stdout] --> src/database/mod.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `pager` are never used [INFO] [stdout] --> src/database/mod.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 135 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 136 | pub fn new(db_file_path: PathBuf) -> DatabaseResult { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn pager(&self) -> Pager { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidBytes`, `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, and `Unknown` are never constructed [INFO] [stdout] --> src/error.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum DatabaseError { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 7 | #[error("invalid bytes")] [INFO] [stdout] 8 | InvalidBytes, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | InvalidHostname { msg: String, hostname: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | #[error("provided path is not file: {0}")] [INFO] [stdout] 14 | InvalidFilePath(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | #[error("invalid port number: {0}")] [INFO] [stdout] 16 | InvalidPort(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DatabaseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISK_BLOCK_SIZE` is never used [INFO] [stdout] --> src/os.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub static DISK_BLOCK_SIZE: LazyLock = 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: enum `SqlError` is never used [INFO] [stdout] --> src/sql/mod.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum SqlError { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `StatementParser` is never used [INFO] [stdout] --> src/sql/parser.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait StatementParser { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/sql/parser.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Parser<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sql/parser.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new(input: &'a str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn validate(token_stream: Vec>) -> Result, SqlError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn token_at(&self, idx: usize) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn previous(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn current(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn peek(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn prev_token(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn peek_token(&mut self) -> Result<&Token, SqlError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn next_token(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn next_keyword(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn expect_token(&mut self, expected: Token) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn expect_keyword(&mut self, expected: Keyword) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | fn consume_optional_token(&mut self, optional: Token) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | fn consume_optional_keyword(&mut self, optional: Keyword) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn consume_one_of<'k, K>(&mut self, keywords: &'k K) -> Keyword [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | fn get_next_precedence(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | fn parse_expression(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn parse_expr(&mut self, precedence: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | fn parse_prefix(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | fn parse_infix(&mut self, left: Expression, precedence: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | fn parse_identifier(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | fn parse_comma_separeted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | fn parse_comma_separeted_values(&mut self) -> Result, SqlError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn parse_identifier_list(&mut self) -> Result, SqlError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | fn parse_optional_identifier_list(&mut self) -> Result>, SqlError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | fn parse_assignment(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn parse_data_type(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn parse_constrains(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | fn parse_column(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | fn parse_where(&mut self) -> Result, SqlError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 423 | fn parse_order_by(&mut self) -> Result>, SqlError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub fn parse_statement(&mut self) -> 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:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Record<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_value`, `try_get_value`, `count`, and `len` are never used [INFO] [stdout] --> src/sql/record.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> Record<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(payload: &'a [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_value(&self, index: usize) -> ValueRef<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn try_get_value(&self, index: usize) -> Result, SqlError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecordCursor` is never constructed [INFO] [stdout] --> src/sql/record.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct RecordCursor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_capacity`, `parse_up_to`, `full_parse`, `get_value`, and `len` are never used [INFO] [stdout] --> src/sql/record.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl<'a> RecordCursor<'a> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 79 | pub fn new(payload: &'a [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn with_capacity(payload: &'a [u8], capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn parse_up_to(&mut self, index: usize) -> Result<(), SqlError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn full_parse(&mut self) -> Result<(), SqlError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn get_value(&mut self, index: usize) -> Result, SqlError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn len(&mut self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecordBuilder` is never constructed [INFO] [stdout] --> src/sql/record.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct RecordBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add`, `calculate_header_size`, and `serialize` are never used [INFO] [stdout] --> src/sql/record.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl RecordBuilder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 162 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn add(&mut self, value: Value) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | fn calculate_header_size(size_of_serial_types: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn serialize(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Statement` is never used [INFO] [stdout] --> src/sql/statement.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Statement { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expression` is never used [INFO] [stdout] --> src/sql/statement.rs:121:10 [INFO] [stdout] | [INFO] [stdout] 121 | pub enum Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BinaryOperator` is never used [INFO] [stdout] --> src/sql/statement.rs:158:10 [INFO] [stdout] | [INFO] [stdout] 158 | pub enum BinaryOperator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UnaryOperator` is never used [INFO] [stdout] --> src/sql/statement.rs:193:10 [INFO] [stdout] | [INFO] [stdout] 193 | pub enum UnaryOperator { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DataType` is never used [INFO] [stdout] --> src/sql/statement.rs:209:10 [INFO] [stdout] | [INFO] [stdout] 209 | pub enum DataType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Constrains` is never used [INFO] [stdout] --> src/sql/statement.rs:232:10 [INFO] [stdout] | [INFO] [stdout] 232 | pub enum Constrains { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Assignment` is never constructed [INFO] [stdout] --> src/sql/statement.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 248 | pub struct Assignment { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Column` is never constructed [INFO] [stdout] --> src/sql/statement.rs:261:12 [INFO] [stdout] | [INFO] [stdout] 261 | pub struct Column { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/sql/statement.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 267 | impl Column { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 268 | pub fn new(name: &str, data_type: DataType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Create` is never used [INFO] [stdout] --> src/sql/statement.rs:306:10 [INFO] [stdout] | [INFO] [stdout] 306 | pub enum Create { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Drop` is never used [INFO] [stdout] --> src/sql/statement.rs:342:10 [INFO] [stdout] | [INFO] [stdout] 342 | pub enum Drop { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fmt_join` is never used [INFO] [stdout] --> src/sql/statement.rs:356:8 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn fmt_join<'t, T: Display + 't>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Token` is never used [INFO] [stdout] --> src/sql/token.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Token { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is_part_keyword_or_identifier` is never used [INFO] [stdout] --> src/sql/token.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Token { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 29 | pub fn is_part_keyword_or_identifier(ch: &char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Keyword` is never used [INFO] [stdout] --> src/sql/token.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum Keyword { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Whitespace` is never used [INFO] [stdout] --> src/sql/token.rs:150:10 [INFO] [stdout] | [INFO] [stdout] 150 | pub enum Whitespace { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stream` is never constructed [INFO] [stdout] --> src/sql/tokenizer.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Stream<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `raw`, `position`, `next`, `peek`, and `peek_next` are never used [INFO] [stdout] --> src/sql/tokenizer.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'a> Stream<'a> { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(input: &'a str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn raw(&self) -> &'a str { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn position(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn peek(&mut self) -> Option<&char> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn peek_next(&mut self) -> Option<&char> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tokenizer` is never constructed [INFO] [stdout] --> src/sql/tokenizer.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct Tokenizer<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `consume`, `consume_number`, `consume_string`, `consume_keyword_or_identifier`, and `next_token` are never used [INFO] [stdout] --> src/sql/tokenizer.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl<'a> Tokenizer<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 52 | pub fn new(input: &'a str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn consume(&mut self, token: Token) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn consume_number(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn consume_string(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn consume_keyword_or_identifier(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn next_token(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ValueType` is never used [INFO] [stdout] --> src/sql/types/mod.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum ValueType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Value` is never used [INFO] [stdout] --> src/sql/types/mod.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum Value { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ValueRef` is never used [INFO] [stdout] --> src/sql/types/mod.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum ValueRef<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/sql/types/mod.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl Value { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 44 | pub fn as_ref<'a>(&'a self) -> ValueRef<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn value_type(&self) -> ValueType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn as_blob(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn as_mut_blob(&mut self) -> &mut [u8] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn try_as_blob(&self) -> Option<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn try_as_blob_mut(&mut self) -> Option<&mut [u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn as_text(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn try_as_text(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn try_as_bool(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn try_as_int(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsValueRef` is never used [INFO] [stdout] --> src/sql/types/mod.rs:126:11 [INFO] [stdout] | [INFO] [stdout] 126 | pub trait AsValueRef { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_value` is never used [INFO] [stdout] --> src/sql/types/mod.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn parse_value<'a>( [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 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SerialTypeKind` is never used [INFO] [stdout] --> src/sql/types/serial.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | pub enum SerialTypeKind { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `kind` is never read [INFO] [stdout] --> src/sql/types/text.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Text { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 11 | value: String, [INFO] [stdout] 12 | kind: TextKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Text` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TextRef` is never constructed [INFO] [stdout] --> src/sql/types/text.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct TextRef<'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `as_str` are never used [INFO] [stdout] --> src/sql/types/text.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl<'a> TextRef<'a> { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 76 | pub fn new(value: &'a str, kind: TextKind) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn as_str(&self) -> &'a str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AnyText` is never used [INFO] [stdout] --> src/sql/types/text.rs:102:11 [INFO] [stdout] | [INFO] [stdout] 102 | pub trait AnyText: AsRef { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SlotNumber` is never used [INFO] [stdout] --> src/storage/mod.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | 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:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | 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:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const PAGE_NUMBER_SIZE: usize = std::mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SLOT_SIZE` is never used [INFO] [stdout] --> src/storage/mod.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const SLOT_SIZE: usize = std::mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `StorageResult` is never used [INFO] [stdout] --> src/storage/mod.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub type StorageResult = std::result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `PageNotFound`, `InvalidPageType`, `PageNumberOutOfRange`, `InvalidChecksum`, `PageNotFoundInWal`, and `PartialRead` are never constructed [INFO] [stdout] --> src/storage/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum Error { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | PageNotFound(PageNumber), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 31 | #[error("invalid page type")] [INFO] [stdout] 32 | InvalidPageType, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | #[error("page number must be grater than 0")] [INFO] [stdout] 34 | PageNumberOutOfRange, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | InvalidChecksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | #[error("page {0} not found in WAL")] [INFO] [stdout] 40 | PageNotFoundInWal(PageNumber), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | PartialRead { expected: usize, read: usize }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/storage/allocator.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalStack` is never constructed [INFO] [stdout] --> src/storage/allocator.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct LocalStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `len`, `push`, and `pop` are never used [INFO] [stdout] --> src/storage/allocator.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl LocalStack { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn push(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_GLOBAL_BATCH_SIZE` is never used [INFO] [stdout] --> src/storage/allocator.rs:57:7 [INFO] [stdout] | [INFO] [stdout] 57 | const DEFAULT_GLOBAL_BATCH_SIZE: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_LOCAL_BATCH_SIZE` is never used [INFO] [stdout] --> src/storage/allocator.rs:58:7 [INFO] [stdout] | [INFO] [stdout] 58 | const DEFAULT_LOCAL_BATCH_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_LOCAL_MIN_PAGES` is never used [INFO] [stdout] --> src/storage/allocator.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | const DEFAULT_LOCAL_MIN_PAGES: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_LOCAL_MAX_PAGES` is never used [INFO] [stdout] --> src/storage/allocator.rs:60:7 [INFO] [stdout] | [INFO] [stdout] 60 | const DEFAULT_LOCAL_MAX_PAGES: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GlobalPageAllocator` is never constructed [INFO] [stdout] --> src/storage/allocator.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct GlobalPageAllocator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/allocator.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl GlobalPageAllocator { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 77 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn default(page_size: usize, page_count: usize) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn try_alloc(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn alloc_batch(&self, to_alloc: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn dealloc_batch(&self, mut mem: Vec>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn dealloc(&self, mem: NonNull) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalPageAllocator` is never constructed [INFO] [stdout] --> src/storage/allocator.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | pub struct LocalPageAllocator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `default`, `len`, `alloc`, `dealloc`, and `drain` are never used [INFO] [stdout] --> src/storage/allocator.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 199 | impl LocalPageAllocator { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 200 | pub fn new(global_allocator: Arc, page_count: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn default(global_allocator: Arc) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn alloc(&mut self) -> NonNull { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn dealloc(&mut self, mem: NonNull) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn drain(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BytesCmp` is never used [INFO] [stdout] --> src/storage/btree.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait BytesCmp { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Payload` is never used [INFO] [stdout] --> src/storage/btree.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Payload<'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixedSizeMemCmp` is never constructed [INFO] [stdout] --> src/storage/btree.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct FixedSizeMemCmp { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `for_type` is never used [INFO] [stdout] --> src/storage/btree.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl FixedSizeMemCmp { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 36 | pub fn for_type() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BTree` is never constructed [INFO] [stdout] --> src/storage/btree.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct BTree { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GlobalBufferPool` is never constructed [INFO] [stdout] --> src/storage/buffer_pool.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct GlobalBufferPool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `default`, `local_pool`, and `len` are never used [INFO] [stdout] --> src/storage/buffer_pool.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl GlobalBufferPool { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn default(page_size: usize, init_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn local_pool(&self, init_size: usize) -> LocalBufferPool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalBufferPool` is never constructed [INFO] [stdout] --> src/storage/buffer_pool.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct LocalBufferPool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `len`, `get`, and `put` are never used [INFO] [stdout] --> src/storage/buffer_pool.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl LocalBufferPool { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 67 | pub fn new(global_allocator: Arc, init_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get(&self) -> Buffer { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn put(&mut self, mem: NonNull) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `CacheResult` is never used [INFO] [stdout] --> src/storage/cache.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type CacheResult = Result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `KeyExists`, `PageLocked`, `Dirty`, `Full`, and `Internal` are never constructed [INFO] [stdout] --> src/storage/cache.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum CacheError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 17 | #[error("key already exists in cache.")] [INFO] [stdout] 18 | KeyExists, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | #[error("page is currently locked.")] [INFO] [stdout] 20 | PageLocked, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 21 | #[error("page {id} is dirty.")] [INFO] [stdout] 22 | Dirty { id: PageNumber }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | #[error("cache is already full.")] [INFO] [stdout] 24 | Full, [INFO] [stdout] | ^^^^ [INFO] [stdout] 25 | #[error("{0}")] [INFO] [stdout] 26 | Internal(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PageCacheKey` is never used [INFO] [stdout] --> src/storage/cache.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | pub type PageCacheKey = PageNumber; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PageCacheEntry` is never constructed [INFO] [stdout] --> src/storage/cache.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PageCacheEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/storage/cache.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl PageCacheEntry { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 44 | pub fn new(key: PageCacheKey, page: MemPageRef) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ShardedLruCache` is never constructed [INFO] [stdout] --> src/storage/cache.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct ShardedLruCache { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SHARD_COUNT` is never used [INFO] [stdout] --> src/storage/cache.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | const DEFAULT_SHARD_COUNT: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/storage/cache.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl ShardedLruCache { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 65 | pub fn new(capacity: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_shard`, `get`, `insert`, `delete`, and `clear` are never used [INFO] [stdout] --> src/storage/cache.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 77 | impl ShardedLruCache { [INFO] [stdout] | --------------------------------------- methods in this implementation [INFO] [stdout] 78 | fn get_shard(&self, key: &PageCacheKey) -> &Shard { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get(&self, key: &PageCacheKey) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn insert(&self, key: PageCacheKey, page: MemPageRef) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn delete(&self, key: PageCacheKey) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn clear(&self) -> CacheResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Shard` is never used [INFO] [stdout] --> src/storage/cache.rs:131:6 [INFO] [stdout] | [INFO] [stdout] 131 | type Shard = Mutex; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LruPageCache` is never constructed [INFO] [stdout] --> src/storage/cache.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | struct LruPageCache { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/cache.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | impl LruPageCache { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 146 | pub fn new(capacity: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn contains_key(&self, key: &PageCacheKey) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn get_ptr(&self, key: &PageCacheKey) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn peek(&mut self, key: &PageCacheKey, touch: bool) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn get(&mut self, key: &PageCacheKey) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn insert(&mut self, key: PageCacheKey, page: MemPageRef) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn try_insert(&mut self, key: PageCacheKey, page: MemPageRef) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn delete(&mut self, key: PageCacheKey) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn try_delete(&mut self, key: PageCacheKey, clean_page: bool) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn detach(&mut self, mut entry: NonNull, clean_page: bool) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn unlink(&mut self, mut entry: NonNull) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn touch(&mut self, mut entry: NonNull) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | fn make_room_for(&mut self, entries_num: usize) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn clear(&mut self) -> CacheResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATABASE_HEADER_SIZE` is never used [INFO] [stdout] --> src/storage/page.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const DATABASE_HEADER_SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PAGE_SIZE` is never used [INFO] [stdout] --> src/storage/page.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | 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:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | 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:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | 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:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | 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:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | 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:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | 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:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | 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:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | 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:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl DatabaseHeader { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 63 | pub fn get_page_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn from_bytes(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn write_to_buffer(&self, buffer: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PageType` is never used [INFO] [stdout] --> src/storage/page.rs:128:10 [INFO] [stdout] | [INFO] [stdout] 128 | pub enum PageType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Page` is never constructed [INFO] [stdout] --> src/storage/page.rs:186:12 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct Page { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/page.rs:195:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl Page { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 195 | pub fn new(buffer: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn alloc(size: usize, drop: Option) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn as_ptr(&self) -> &mut [u8] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn usable_space(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn min_cell_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn max_cell_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn total_free_space(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn as_io_slice(&self) -> IoSlice { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | fn read_u8(&self, pos: usize) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | fn read_u16_no_offset(&self, pos: usize) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn read_u16(&self, pos: usize) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn read_u32_no_offset(&self, pos: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | fn read_u32(&self, pos: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | fn write_u8(&self, pos: usize, value: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn write_u16_no_offset(&self, pos: usize, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | fn write_u16(&self, pos: usize, value: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn write_u32_no_offset(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn write_u32(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn try_page_type(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn page_type(&self) -> PageType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn first_freeblock(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn set_first_freeblock(&self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn last_used_offset(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn set_last_used_offset(&self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn free_fragments(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn set_free_fragments(&self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn add_free_fragment(&self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn try_rigth_child(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn len(&self) -> u16 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn set_len(&self, value: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | fn overflow_map(&self) -> &mut HashMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn is_overflow(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | pub fn header_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn storage_space(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn storage_size(&self, cell_size: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | pub fn free_space(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | fn defragment(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 443 | fn get_cell_size(&self, offset: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | pub fn get_cell(&self, index: SlotNumber) -> StorageResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | pub fn insert_cell(&self, index: SlotNumber, cell: BTreeCell) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 489 | fn try_insert_cell(&self, index: SlotNumber, cell: BTreeCell) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 537 | pub fn try_replace( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | pub fn remove(&self, index: SlotNumber) -> BTreeCell { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 588 | pub fn child(&self, index: SlotNumber) -> PageNumber { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SlotArray` is never constructed [INFO] [stdout] --> src/storage/page.rs:632:12 [INFO] [stdout] | [INFO] [stdout] 632 | 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:642:12 [INFO] [stdout] | [INFO] [stdout] 641 | impl<'a> SlotArray<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 642 | pub fn new(mem: &'a mut [u8], num_slots_offset: usize, slot_array_offset: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 650 | fn read_u16(&self, pos: usize) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 654 | fn write_u16(&mut self, pos: usize, value: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 658 | pub fn len(&self) -> u16 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 662 | pub fn set_len(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 666 | pub fn increment_len(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 671 | pub fn decrement_len(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 677 | fn slot_array(&self) -> &[u16] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 686 | fn slot_array_mut(&mut self) -> &mut [u16] { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 695 | pub fn get(&self, index: SlotNumber) -> u16 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 703 | pub fn set(&mut self, index: SlotNumber, value: u16) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 715 | pub fn insert(&mut self, index: SlotNumber, value: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 729 | pub fn push(&mut self, value: u16) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 733 | pub fn remove(&mut self, index: SlotNumber) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FreeblockList` is never constructed [INFO] [stdout] --> src/storage/page.rs:759:12 [INFO] [stdout] | [INFO] [stdout] 759 | pub struct FreeblockList<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/page.rs:765:12 [INFO] [stdout] | [INFO] [stdout] 764 | impl<'a> FreeblockList<'a> { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 765 | pub fn new(mem: &'a mut [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 769 | fn read_u8(&self, pos: usize) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 773 | fn read_u16(&self, pos: usize) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 777 | fn write_u8(&mut self, pos: usize, value: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 781 | fn write_u16(&mut self, pos: usize, value: u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 785 | pub fn first_freeblock(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 789 | pub fn set_first_freeblock(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 793 | pub fn free_fragments(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | pub fn set_free_fragments(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 801 | pub fn add_free_fragment(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 806 | fn get_freeblock(&self, offset: u16) -> (u16, u16) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 812 | fn set_freeblock(&mut self, offset: u16, next: u16, size: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 820 | fn take_freeblock(&mut self, cell_size: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 854 | fn push_freeblock(&mut self, offset: u16, size: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 871 | fn iter(&self) -> FreeblockIterator<'_> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FreeblockIterator` is never constructed [INFO] [stdout] --> src/storage/page.rs:879:8 [INFO] [stdout] | [INFO] [stdout] 879 | struct FreeblockIterator<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BTreeCell` is never used [INFO] [stdout] --> src/storage/page.rs:902:10 [INFO] [stdout] | [INFO] [stdout] 902 | pub enum BTreeCell { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `local_cell_size` and `as_ref` are never used [INFO] [stdout] --> src/storage/page.rs:911:12 [INFO] [stdout] | [INFO] [stdout] 909 | impl BTreeCell { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 910 | /// Returns local size of cell. **No overflow pages included**. [INFO] [stdout] 911 | pub fn local_cell_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 920 | pub fn as_ref(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CellOps` is never used [INFO] [stdout] --> src/storage/page.rs:984:11 [INFO] [stdout] | [INFO] [stdout] 984 | pub trait CellOps { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PayloadRef` is never constructed [INFO] [stdout] --> src/storage/page.rs:996:12 [INFO] [stdout] | [INFO] [stdout] 996 | pub struct PayloadRef { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_slice` is never used [INFO] [stdout] --> src/storage/page.rs:1002:12 [INFO] [stdout] | [INFO] [stdout] 1001 | impl PayloadRef { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 1002 | pub fn as_slice<'a>(&self, raw: &'a [u8]) -> &'a [u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IndexInternalCell` is never constructed [INFO] [stdout] --> src/storage/page.rs:1008:12 [INFO] [stdout] | [INFO] [stdout] 1008 | pub struct IndexInternalCell { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `payload` is never used [INFO] [stdout] --> src/storage/page.rs:1023:12 [INFO] [stdout] | [INFO] [stdout] 1022 | impl IndexInternalCell { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 1023 | 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:1044:12 [INFO] [stdout] | [INFO] [stdout] 1044 | pub struct IndexLeafCell { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `payload` is never used [INFO] [stdout] --> src/storage/page.rs:1057:12 [INFO] [stdout] | [INFO] [stdout] 1056 | impl IndexLeafCell { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 1057 | pub fn payload(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TableInternalCell` is never constructed [INFO] [stdout] --> src/storage/page.rs:1078:12 [INFO] [stdout] | [INFO] [stdout] 1078 | pub struct TableInternalCell { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TableLeafCell` is never constructed [INFO] [stdout] --> src/storage/page.rs:1103:12 [INFO] [stdout] | [INFO] [stdout] 1103 | pub struct TableLeafCell { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `payload` is never used [INFO] [stdout] --> src/storage/page.rs:1118:12 [INFO] [stdout] | [INFO] [stdout] 1117 | impl TableLeafCell { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 1118 | pub fn payload(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `local_btree_cell_size` is never used [INFO] [stdout] --> src/storage/page.rs:1138:8 [INFO] [stdout] | [INFO] [stdout] 1138 | pub fn local_btree_cell_size( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_btree_cell` is never used [INFO] [stdout] --> src/storage/page.rs:1215:8 [INFO] [stdout] | [INFO] [stdout] 1215 | pub fn read_btree_cell( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_btree_cell` is never used [INFO] [stdout] --> src/storage/page.rs:1337:8 [INFO] [stdout] | [INFO] [stdout] 1337 | pub fn write_btree_cell( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_local_payload` is never used [INFO] [stdout] --> src/storage/page.rs:1356:8 [INFO] [stdout] | [INFO] [stdout] 1356 | 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:1379:8 [INFO] [stdout] | [INFO] [stdout] 1379 | pub fn cell_overflows( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemPageInner` is never constructed [INFO] [stdout] --> src/storage/pager.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct MemPageInner { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemPage` is never constructed [INFO] [stdout] --> src/storage/pager.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct MemPage { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MemPageRef` is never used [INFO] [stdout] --> src/storage/pager.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | pub type MemPageRef = Arc; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_UPTODATE` is never used [INFO] [stdout] --> src/storage/pager.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const PAGE_UPTODATE: usize = 0b00001; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_LOCKED` is never used [INFO] [stdout] --> src/storage/pager.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const PAGE_LOCKED: usize = 0b00010; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_ERROR` is never used [INFO] [stdout] --> src/storage/pager.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const PAGE_ERROR: usize = 0b00100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_DIRTY` is never used [INFO] [stdout] --> src/storage/pager.rs:40:7 [INFO] [stdout] | [INFO] [stdout] 40 | const PAGE_DIRTY: usize = 0b01000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_LOADED` is never used [INFO] [stdout] --> src/storage/pager.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const PAGE_LOADED: usize = 0b10000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/pager.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl MemPage { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 45 | pub fn new(id: PageNumber) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get(&self) -> &mut MemPageInner { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_content(&self) -> &mut Page { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn is_uptodate(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set_uptodate(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn clear_uptodate(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn is_locked(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn set_locked(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn clear_locked(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn is_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn set_error(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn clear_error(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn is_dirty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn set_dirty(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn clear_dirty(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn is_loaded(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_loaded(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn clear_loaded(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn is_index(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pager` is never constructed [INFO] [stdout] --> src/storage/pager.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct Pager { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/pager.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl Pager { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 150 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn write_header(&mut self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn read_page(&mut self, page_number: PageNumber) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn read_page_from_disk( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn write_page(&mut self, page: MemPageRef) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn flush(&mut self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn sync(&self) -> StorageResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `begin_read_page` is never used [INFO] [stdout] --> src/storage/pager.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn begin_read_page(page: &MemPageRef) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `begin_write_page` is never used [INFO] [stdout] --> src/storage/pager.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn begin_write_page(page: &MemPageRef) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `complete_read_page` is never used [INFO] [stdout] --> src/storage/pager.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn complete_read_page(read_result: IoResult, (page, buffer): ReadJobCallbackArgs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `complete_write_page` is never used [INFO] [stdout] --> src/storage/pager.rs:270:8 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn complete_write_page(write_result: IoResult, page: WriteJobCallbackArgs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAL_HEADER_SIZE` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const WAL_HEADER_SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAL_HEADER_SIZE_NO_CHECKSUM` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const WAL_HEADER_SIZE_NO_CHECKSUM: usize = WAL_HEADER_SIZE - size_of::<[u32; 2]>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_HEADER_SIZE` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const FRAME_HEADER_SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `READERS_NUM` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const READERS_NUM: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CHECKPOINT_SIZE` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const DEFAULT_CHECKPOINT_SIZE: FrameNumber = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Checksum` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:41:6 [INFO] [stdout] | [INFO] [stdout] 41 | type Checksum = (u32, u32); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WalHeader` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct WalHeader { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `update_checksum`, `default`, `from_bytes`, `to_bytes`, `write_to_buffer`, and `checksum_self` are never used [INFO] [stdout] --> src/storage/wal/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl WalHeader { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 61 | /// Recalculates checksum of all fields except `checksum`. [INFO] [stdout] 62 | pub fn update_checksum(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn default(page_size: u32, db_size: u32) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn from_bytes(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn write_to_buffer(&self, buffer: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn checksum_self(&self, seed: Option) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemWalHeader` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct MemWalHeader { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/storage/wal/mod.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 131 | impl MemWalHeader { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 132 | pub fn into_raw_header(&self) -> WalHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn update_checksum(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn get_checkpoint_seq_num(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn get_last_checkpointed(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn get_db_size(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn get_backfilled_number(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get_checksum(&self) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn increment_checkpoint_seq_num(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn set_last_checkpointed(&self, value: PageNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn set_db_size(&self, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn set_backfilled_number(&self, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn set_checksum(&self, (val_1, val_2): Checksum) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FrameHeader` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct FrameHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes` and `to_bytes` are never used [INFO] [stdout] --> src/storage/wal/mod.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 214 | impl FrameHeader { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 215 | pub fn from_bytes(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn to_bytes(&self, buffer: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WalManager` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct WalManager { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `local_wal` are never used [INFO] [stdout] --> src/storage/wal/mod.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 242 | impl WalManager { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 243 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn local_wal(&self) -> LocalWal { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GlobalWal` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | pub struct GlobalWal { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/wal/mod.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 328 | impl GlobalWal { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 329 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | pub fn write_header(&self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn get_min_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 396 | pub fn get_max_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | pub fn get_last_checksum(&self) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn get_backfilled_number(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn get_checkpoint_seq_num(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 412 | pub fn set_min_frame(&self, value: FrameNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 416 | pub fn set_max_frame(&self, value: FrameNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | pub fn set_last_checksum(&self, value: Checksum) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | pub fn set_backfilled_number(&self, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | pub fn increment_checkpoint_seq_num(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalWal` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 434 | pub struct LocalWal { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/wal/mod.rs:446:12 [INFO] [stdout] | [INFO] [stdout] 445 | impl LocalWal { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 446 | pub fn new(global_wal: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | fn calculate_frame_offset(&self, frame_number: FrameNumber) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 459 | pub fn is_in_wal(&self, page_number: &PageNumber) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn begin_write_tx(&mut self) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | pub fn end_read_tx(&mut self, guard: ReadGuard) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 502 | pub fn end_write_tx(&mut self, guard: WriteGuard) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 519 | fn read_raw(&self, frame_number: FrameNumber, buffer: &mut [u8]) -> StorageResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 529 | pub fn read_frame( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 563 | pub fn append_frame(&mut self, page: MemPageRef, db_size: u32) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn append_vectored( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 628 | fn should_checkpoint(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 636 | pub fn checkpoint(&mut self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WalIndex` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:696:12 [INFO] [stdout] | [INFO] [stdout] 696 | 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:701:12 [INFO] [stdout] | [INFO] [stdout] 700 | impl WalIndex { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 701 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 713 | fn insert_latest(&self, page_number: PageNumber, frame_number: FrameNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 720 | pub fn insert(&self, page_number: PageNumber, frame_number: FrameNumber) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 728 | pub fn latest_frames_sorted(&self, max_frame: FrameNumber) -> Vec<(PageNumber, FrameNumber)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 749 | pub fn contains(&self, page_number: &PageNumber) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 753 | pub fn get(&self, page_number: &PageNumber, max_frame: FrameNumber) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 759 | 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:773:4 [INFO] [stdout] | [INFO] [stdout] 773 | fn validate_frame( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checksum_bytes` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:799:8 [INFO] [stdout] | [INFO] [stdout] 799 | pub fn checksum_bytes(data: &[u8], seed: Option) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semaphore` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Semaphore { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used [INFO] [stdout] --> src/storage/wal/locks.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Semaphore { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(initial: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn release(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadersPool` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct ReadersPool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `FREE_SLOT`, `new`, `min_active_frame`, `get_min_frame`, `acquire`, and `release` are never used [INFO] [stdout] --> src/storage/wal/locks.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 55 | impl ReadersPool { [INFO] [stdout] | ------------------------------------------------------- associated items in this implementation [INFO] [stdout] 56 | const FREE_SLOT: FrameNumber = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 57 | [INFO] [stdout] 58 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn min_active_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_min_frame(&self, slot_id: usize) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn acquire<'a, F>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn release(&self, slot_id: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadGuard` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ReadGuard<'a, const READERS_NUM: usize> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `min_frame` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl<'a, const READERS_NUM: usize> ReadGuard<'a, READERS_NUM> { [INFO] [stdout] | ------------------------------------------------------------- method in this implementation [INFO] [stdout] 138 | pub fn min_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WriteGuard` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | pub struct WriteGuard<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl<'a> WriteGuard<'a> { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 156 | pub fn new(checkpoint_guard: RwLockReadGuard<'a, ()>, mutex_guard: MutexGuard<'a, ()>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `PackedU64` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:166:11 [INFO] [stdout] | [INFO] [stdout] 166 | pub trait PackedU64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Result` is never used [INFO] [stdout] --> src/utils/mod.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/utils/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Error { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | InvalidAligment, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | #[error("size mismatch")] [INFO] [stdout] 19 | SizeMismatch, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 20 | #[error("invalid bytes")] [INFO] [stdout] 21 | InvalidBytes, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 22 | #[error("varint is invalid, either overflowed or incompleted")] [INFO] [stdout] 23 | InvalidVarInt, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 24 | #[error("attempted to access outside buffer. buffer overflow")] [INFO] [stdout] 25 | OutOfSpace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | InvalidAllocation(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BufferData` is never used [INFO] [stdout] --> src/utils/buffer.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type BufferData = NonNull; [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; [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::(); [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) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn alloc_page(size: usize, drop: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn from_ptr(ptr: NonNull, size: usize, drop: Option) -> 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 { [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 { [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, 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 { [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 { [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 { [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 BytesCursor { [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> BytesCursor { [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 { [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 { [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 { [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 { [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 + AsMut<[u8]>> BytesCursor { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn write_bytes(&mut self, bytes: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | pub fn try_write_bytes(&mut self, bytes: &[u8]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `varint_size` is never used [INFO] [stdout] --> src/utils/bytes.rs:386:8 [INFO] [stdout] | [INFO] [stdout] 386 | pub fn varint_size(value: VarInt) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zigzag_encode` is never used [INFO] [stdout] --> src/utils/bytes.rs:390:8 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn zigzag_encode(value: i64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zigzag_decode` is never used [INFO] [stdout] --> src/utils/bytes.rs:394:8 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn zigzag_decode(value: u64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checksum_crc32` is never used [INFO] [stdout] --> src/utils/bytes.rs:399:8 [INFO] [stdout] | [INFO] [stdout] 399 | pub fn checksum_crc32(bytes: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `flip_n_bits` is never used [INFO] [stdout] --> src/utils/bytes.rs:420:8 [INFO] [stdout] | [INFO] [stdout] 420 | pub fn flip_n_bits(value: &mut u64, mut n: usize, positions: &mut Vec, offset: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `byte_swap_u32` is never used [INFO] [stdout] --> src/utils/bytes.rs:434:8 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn byte_swap_u32(value: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pack_u64` is never used [INFO] [stdout] --> src/utils/bytes.rs:439:8 [INFO] [stdout] | [INFO] [stdout] 439 | pub fn pack_u64(a: u32, b: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpack_u64` is never used [INFO] [stdout] --> src/utils/bytes.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn unpack_u64(packed: u64) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_aligned_to` is never used [INFO] [stdout] --> src/utils/cast.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn is_aligned_to(ptr: *const (), align: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cast` is never used [INFO] [stdout] --> src/utils/cast.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn cast(a: 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: &[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: &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(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(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(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(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: A) -> Result { [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: &[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: &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(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(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(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(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(src: &[T]) -> &'static [T] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_if_to_long` is never used [INFO] [stdout] --> src/utils/debug_table.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn trim_if_to_long(value: String, len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugTable` is never constructed [INFO] [stdout] --> src/utils/debug_table.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct DebugTable<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/utils/debug_table.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl<'a> DebugTable<'a> { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 27 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn add_column(&mut self, name: &'a dyn Debug) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn insert_row(&mut self, row: Vec<&'a dyn Debug>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn column_len(&self, index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn columns_width(&self) -> VecDeque { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn separator(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn print_header(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn printable_row(&self, index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FileOps` is never used [INFO] [stdout] --> src/utils/io.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub trait FileOps { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IO` is never used [INFO] [stdout] --> src/utils/io.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | pub trait IO { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockIO` is never constructed [INFO] [stdout] --> src/utils/io.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct BlockIO { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_io`, `increment_block_count`, `decrement_block_count`, `get_block_count`, and `calculate_offset` are never used [INFO] [stdout] --> src/utils/io.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 279 | impl BlockIO { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 280 | pub fn new(io: I, block_size: usize, block_count: usize, header_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | fn get_io(&self) -> &mut I { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | fn increment_block_count(&self, add: BlockNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | fn decrement_block_count(&self, sub: BlockNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | pub fn get_block_count(&self) -> BlockNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | pub fn calculate_offset(&self, block_number: BlockNumber) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/utils/io.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 314 | impl BlockIO { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 315 | pub fn raw_read(&self, offset: usize, buffer: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn read_header(&self, buffer: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn read( [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn raw_write(&self, offset: usize, buffer: &[u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | pub fn write_header(&self, buffer: &[u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn write( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub fn write_vectored( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn truncate(&self, to_block_len: BlockNumber) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | 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:444:12 [INFO] [stdout] | [INFO] [stdout] 439 | impl BlockIO { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 444 | 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:451:12 [INFO] [stdout] | [INFO] [stdout] 449 | impl BlockIO { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] 450 | /// Makes syscall to kernel to write **flushed** buffers to disk. [INFO] [stdout] 451 | pub fn sync(&self) -> io::Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size` and `persist` are never used [INFO] [stdout] --> src/utils/io.rs:458:12 [INFO] [stdout] | [INFO] [stdout] 456 | impl BlockIO { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 457 | /// Returns size of file inside wrapper in **bytes**. [INFO] [stdout] 458 | pub fn size(&self) -> io::Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 464 | pub fn persist(&self) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IoResult` is never used [INFO] [stdout] --> src/utils/io.rs:470:10 [INFO] [stdout] | [INFO] [stdout] 470 | pub type IoResult = std::result::Result>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ReadJobCallbackArgs` is never used [INFO] [stdout] --> src/utils/io.rs:472:10 [INFO] [stdout] | [INFO] [stdout] 472 | pub type ReadJobCallbackArgs = (MemPageRef, Arc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ReadJobComplete` is never used [INFO] [stdout] --> src/utils/io.rs:473:10 [INFO] [stdout] | [INFO] [stdout] 473 | pub type ReadJobComplete = dyn Fn(IoResult, ReadJobCallbackArgs); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WriteJobCallbackArgs` is never used [INFO] [stdout] --> src/utils/io.rs:475:10 [INFO] [stdout] | [INFO] [stdout] 475 | pub type WriteJobCallbackArgs = MemPageRef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WriteJobComplete` is never used [INFO] [stdout] --> src/utils/io.rs:476:10 [INFO] [stdout] | [INFO] [stdout] 476 | pub type WriteJobComplete = dyn Fn(IoResult, WriteJobCallbackArgs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `GroupJobCallbackArgs` is never used [INFO] [stdout] --> src/utils/io.rs:478:10 [INFO] [stdout] | [INFO] [stdout] 478 | pub type GroupJobCallbackArgs = MemPageRef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `GroupJobComplete` is never used [INFO] [stdout] --> src/utils/io.rs:479:10 [INFO] [stdout] | [INFO] [stdout] 479 | pub type GroupJobComplete = dyn Fn(IoResult, GroupJobCallbackArgs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Job` is never constructed [INFO] [stdout] --> src/utils/io.rs:482:12 [INFO] [stdout] | [INFO] [stdout] 482 | pub struct Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `ok`, `error`, `complete`, `finish`, and `into_inner` are never used [INFO] [stdout] --> src/utils/io.rs:487:12 [INFO] [stdout] | [INFO] [stdout] 486 | impl Job { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 487 | pub fn new(inner: J) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn ok(&self, bytes_read: usize) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 496 | pub fn error(&self, err: Error) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 502 | pub fn complete(&self, result: IoResult) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 506 | pub fn finish(self) -> J::Output { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | pub fn into_inner(self) -> J { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_read` is never used [INFO] [stdout] --> src/utils/io.rs:522:12 [INFO] [stdout] | [INFO] [stdout] 521 | impl Job { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 522 | pub fn new_read( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_write` is never used [INFO] [stdout] --> src/utils/io.rs:533:12 [INFO] [stdout] | [INFO] [stdout] 532 | impl Job { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 533 | pub fn new_write(mem_page: MemPageRef, complete: Box) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_group_read` and `add` are never used [INFO] [stdout] --> src/utils/io.rs:540:12 [INFO] [stdout] | [INFO] [stdout] 539 | impl Job> { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 540 | pub fn new_group_read() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 545 | pub fn add(&mut self, job: ReadJob) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_group_write` and `add` are never used [INFO] [stdout] --> src/utils/io.rs:550:12 [INFO] [stdout] | [INFO] [stdout] 549 | impl Job> { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 550 | pub fn new_group_write() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 555 | pub fn add(&mut self, job: WriteJob) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadJob` is never constructed [INFO] [stdout] --> src/utils/io.rs:560:12 [INFO] [stdout] | [INFO] [stdout] 560 | pub struct ReadJob { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/utils/io.rs:568:12 [INFO] [stdout] | [INFO] [stdout] 567 | impl ReadJob { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 568 | pub fn new(mem_page: MemPageRef, buffer: Arc, complete: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WriteJob` is never constructed [INFO] [stdout] --> src/utils/io.rs:588:12 [INFO] [stdout] | [INFO] [stdout] 588 | pub struct WriteJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/utils/io.rs:594:12 [INFO] [stdout] | [INFO] [stdout] 593 | impl WriteJob { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 594 | pub fn new(mem_page: MemPageRef, complete: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GroupJob` is never constructed [INFO] [stdout] --> src/utils/io.rs:612:12 [INFO] [stdout] | [INFO] [stdout] 612 | pub struct GroupJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `add` are never used [INFO] [stdout] --> src/utils/io.rs:618:12 [INFO] [stdout] | [INFO] [stdout] 616 | impl GroupJob { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] 617 | /// Creates empty group job [INFO] [stdout] 618 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 622 | pub fn add(&mut self, job: J) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `JobOperations` is never used [INFO] [stdout] --> src/utils/io.rs:641:11 [INFO] [stdout] | [INFO] [stdout] 641 | pub trait JobOperations { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:242:24 [INFO] [stdout] | [INFO] [stdout] 242 | 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] 242 | 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:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:383:27 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 564 | let _ = write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | self.try_insert_cell(index, new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 571 | let _ = self.try_insert_cell(index, new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:463:26 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [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] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:479:27 [INFO] [stdout] | [INFO] [stdout] 479 | pub fn begin_write_tx(&mut self) -> StorageResult { [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] 479 | pub fn begin_write_tx(&mut self) -> StorageResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.09s [INFO] running `Command { std: "docker" "inspect" "33064e2222b8ada3477ce652804e85a4615a6a812dc93f3aa3d5f4ac65207810", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33064e2222b8ada3477ce652804e85a4615a6a812dc93f3aa3d5f4ac65207810", kill_on_drop: false }` [INFO] [stdout] 33064e2222b8ada3477ce652804e85a4615a6a812dc93f3aa3d5f4ac65207810 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5f1e09b6ed9e09dc6b879cda2aa515f1bb38aa16bc9664ddbc5be99661d4db57 [INFO] running `Command { std: "docker" "start" "-a" "5f1e09b6ed9e09dc6b879cda2aa515f1bb38aa16bc9664ddbc5be99661d4db57", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.147 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling zmij v0.1.8 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling zerocopy-derive v0.8.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_builder v4.5.53 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling carcinusdb v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stdout] warning: unused import: `crate::error::DatabaseResult` [INFO] [stdout] --> src/tcp/server/connection.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::error::DatabaseResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/utils/bytes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/database/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 38 | / loop { [INFO] [stdout] 39 | | let conn = tcp_server.accept_connection().await?; [INFO] [stdout] 40 | | tokio::spawn(async move { handle_connection(conn) }); [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/storage/page.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | let mut total = self.free_space() + self.free_fragments() as u16; [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] [stderr] Compiling plotters v0.3.7 [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/sql/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Parser<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 27 | input: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used [INFO] [stdout] --> src/sql/parser.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | fn previous(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn current(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn parse_constrains(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `kind` is never read [INFO] [stdout] --> src/sql/types/text.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct TextRef<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 71 | value: &'a str, [INFO] [stdout] 72 | kind: TextKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root` and `pager` are never read [INFO] [stdout] --> src/storage/btree.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct BTree { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 63 | root: PageNumber, [INFO] [stdout] | ^^^^ [INFO] [stdout] 64 | [INFO] [stdout] 65 | pager: Pager, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `put` is never used [INFO] [stdout] --> src/storage/buffer_pool.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 66 | impl LocalBufferPool { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | fn put(&mut self, mem: NonNull) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write_u32_no_offset` and `write_u32` are never used [INFO] [stdout] --> src/storage/page.rs:282:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl Page { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 282 | fn write_u32_no_offset(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn write_u32(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semaphore` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Semaphore { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used [INFO] [stdout] --> src/storage/wal/locks.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Semaphore { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(initial: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn release(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `min_active_frame` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl ReadersPool { [INFO] [stdout] | ------------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn min_active_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:242:24 [INFO] [stdout] | [INFO] [stdout] 242 | 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] 242 | 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:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:383:27 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 564 | let _ = write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | self.try_insert_cell(index, new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 571 | let _ = self.try_insert_cell(index, new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:463:26 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [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] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:479:27 [INFO] [stdout] | [INFO] [stdout] 479 | pub fn begin_write_tx(&mut self) -> StorageResult { [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] 479 | pub fn begin_write_tx(&mut self) -> StorageResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling clap v4.5.53 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/storage/wal/mod.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | 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: `crate::error::DatabaseResult` [INFO] [stdout] --> src/tcp/server/connection.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::error::DatabaseResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/utils/bytes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/storage/wal/mod.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | 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: `crate::error::DatabaseResult` [INFO] [stdout] --> src/tcp/server/connection.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::error::DatabaseResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/utils/bytes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/database/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 38 | / loop { [INFO] [stdout] 39 | | let conn = tcp_server.accept_connection().await?; [INFO] [stdout] 40 | | tokio::spawn(async move { handle_connection(conn) }); [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/database/mod.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 38 | / loop { [INFO] [stdout] 39 | | let conn = tcp_server.accept_connection().await?; [INFO] [stdout] 40 | | tokio::spawn(async move { handle_connection(conn) }); [INFO] [stdout] 41 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 42 | [INFO] [stdout] 43 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/storage/page.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | let mut total = self.free_space() + self.free_fragments() as u16; [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: variable does not need to be mutable [INFO] [stdout] --> src/storage/page.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | let mut total = self.free_space() + self.free_fragments() as u16; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/utils/bytes.rs:479:13 [INFO] [stdout] | [INFO] [stdout] 479 | let n: u32 = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils/bytes.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | let mut n = 100; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/utils/bytes.rs:479:13 [INFO] [stdout] | [INFO] [stdout] 479 | let n: u32 = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils/bytes.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | let mut n = 100; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/sql/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Parser<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 27 | input: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used [INFO] [stdout] --> src/sql/parser.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | fn previous(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn current(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn parse_constrains(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `kind` is never read [INFO] [stdout] --> src/sql/types/text.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct TextRef<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 71 | value: &'a str, [INFO] [stdout] 72 | kind: TextKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root` and `pager` are never read [INFO] [stdout] --> src/storage/btree.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct BTree { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 63 | root: PageNumber, [INFO] [stdout] | ^^^^ [INFO] [stdout] 64 | [INFO] [stdout] 65 | pager: Pager, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `put` is never used [INFO] [stdout] --> src/storage/buffer_pool.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 66 | impl LocalBufferPool { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | fn put(&mut self, mem: NonNull) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write_u32_no_offset` and `write_u32` are never used [INFO] [stdout] --> src/storage/page.rs:282:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl Page { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 282 | fn write_u32_no_offset(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn write_u32(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semaphore` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Semaphore { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used [INFO] [stdout] --> src/storage/wal/locks.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Semaphore { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(initial: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn release(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `min_active_frame` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl ReadersPool { [INFO] [stdout] | ------------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn min_active_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:242:24 [INFO] [stdout] | [INFO] [stdout] 242 | 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] 242 | 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:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:383:27 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GLOBAL_INIT_POOL_SIZE` is never used [INFO] [stdout] --> src/database/mod.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const GLOBAL_INIT_POOL_SIZE: usize = 250; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCAL_INIT_POOL_SIZE` is never used [INFO] [stdout] --> src/database/mod.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const LOCAL_INIT_POOL_SIZE: usize = 40; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemDatabaseHeader` is never constructed [INFO] [stdout] --> src/database/mod.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct MemDatabaseHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/database/mod.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl MemDatabaseHeader { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 64 | pub fn into_raw_header(&self) -> DatabaseHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_change_counter(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_database_size(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_freelist_trunk_page(&self) -> PageNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get_freelist_pages(&self) -> PageNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn increment_change_counter(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn add_database_size(&self, add: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn set_freelist_trunk_page(&self, page_number: PageNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_freelist_pages(&self, value: PageNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Database` is never constructed [INFO] [stdout] --> src/database/mod.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | pub struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `pager` are never used [INFO] [stdout] --> src/database/mod.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 135 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 136 | pub fn new(db_file_path: PathBuf) -> DatabaseResult { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn pager(&self) -> Pager { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidBytes`, `InvalidHostname`, `InvalidFilePath`, `InvalidPort`, and `Unknown` are never constructed [INFO] [stdout] --> src/error.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum DatabaseError { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 7 | #[error("invalid bytes")] [INFO] [stdout] 8 | InvalidBytes, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | InvalidHostname { msg: String, hostname: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | #[error("provided path is not file: {0}")] [INFO] [stdout] 14 | InvalidFilePath(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | #[error("invalid port number: {0}")] [INFO] [stdout] 16 | InvalidPort(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DatabaseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DISK_BLOCK_SIZE` is never used [INFO] [stdout] --> src/os.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub static DISK_BLOCK_SIZE: LazyLock = LazyLock::new(|| { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FileSystemBlockSize` is never used [INFO] [stdout] --> src/os.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait FileSystemBlockSize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Open` is never used [INFO] [stdout] --> src/os.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Open { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Fs` is never constructed [INFO] [stdout] --> src/os.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Fs; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenOptions` is never constructed [INFO] [stdout] --> src/os.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct OpenOptions { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/os.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl OpenOptions { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 44 | /// disable OS [INFO] [stdout] 45 | pub fn bypass_cache(mut self, bypass_cache: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn sync_on_write(mut self, sync_on_write: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn create(mut self, create: bool) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn read(mut self, read: bool) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn write(mut self, write: bool) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn lock(mut self, lock: bool) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn truncate(mut self, truncate: bool) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_explain`, `parse_begin`, and `parse_commit` are never used [INFO] [stdout] --> src/sql/parser.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait StatementParser { [INFO] [stdout] | --------------- methods in this trait [INFO] [stdout] 14 | fn parse_explain(&mut self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn parse_begin(&mut self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 22 | fn parse_commit(&mut self) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/sql/parser.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Parser<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 27 | input: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `previous`, `current`, `expect_one_of`, and `parse_constrains` are never used [INFO] [stdout] --> src/sql/parser.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> Parser<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | fn previous(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn current(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn expect_one_of<'k, K>(&mut self, keywords: &'k K) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | fn parse_constrains(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `count` is never used [INFO] [stdout] --> src/sql/record.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> Record<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_capacity` is never used [INFO] [stdout] --> src/sql/record.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl<'a> RecordCursor<'a> { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn with_capacity(payload: &'a [u8], capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/sql/statement.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 267 | impl Column { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 268 | pub fn new(name: &str, data_type: DataType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 564 | let _ = write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Commit` is never constructed [INFO] [stdout] --> src/sql/token.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum Keyword { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 101 | Commit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Keyword` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/sql/tokenizer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Stream<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 9 | input: &'a str, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | self.try_insert_cell(index, new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 571 | let _ = self.try_insert_cell(index, new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `raw` is never used [INFO] [stdout] --> src/sql/tokenizer.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'a> Stream<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn raw(&self) -> &'a str { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ValueType` is never used [INFO] [stdout] --> src/sql/types/mod.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum ValueType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Blob` is never constructed [INFO] [stdout] --> src/sql/types/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum Value { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | Blob(Vec), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/sql/types/mod.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl Value { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn value_type(&self) -> ValueType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn as_blob(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn as_mut_blob(&mut self) -> &mut [u8] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn try_as_blob(&self) -> Option<&[u8]> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn try_as_blob_mut(&mut self) -> Option<&mut [u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn as_text(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn try_as_text(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn try_as_bool(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn try_as_int(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AnyBlob` is never used [INFO] [stdout] --> src/sql/types/blob.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait AnyBlob { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `kind` is never read [INFO] [stdout] --> src/sql/types/text.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct TextRef<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 71 | value: &'a str, [INFO] [stdout] 72 | kind: TextKind, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `FrameNumber` is never used [INFO] [stdout] --> src/storage/mod.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | 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:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const PAGE_NUMBER_SIZE: usize = std::mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `PageNotFound`, `PageNumberOutOfRange`, `InvalidChecksum`, `PageNotFoundInWal`, and `PartialRead` are never constructed [INFO] [stdout] --> src/storage/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum Error { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | PageNotFound(PageNumber), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | PageNumberOutOfRange, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | InvalidChecksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | #[error("page {0} not found in WAL")] [INFO] [stdout] 40 | PageNotFoundInWal(PageNumber), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | PartialRead { expected: usize, read: usize }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `try_alloc` is never used [INFO] [stdout] --> src/storage/allocator.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl GlobalPageAllocator { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn try_alloc(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:463:26 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [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] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/storage/allocator.rs:214:12 [INFO] [stdout] | [INFO] [stdout] 199 | impl LocalPageAllocator { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn default(global_allocator: Arc) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BytesCmp` is never used [INFO] [stdout] --> src/storage/btree.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait BytesCmp { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Payload` is never used [INFO] [stdout] --> src/storage/btree.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Payload<'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixedSizeMemCmp` is never constructed [INFO] [stdout] --> src/storage/btree.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct FixedSizeMemCmp { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `for_type` is never used [INFO] [stdout] --> src/storage/btree.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl FixedSizeMemCmp { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 36 | pub fn for_type() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BTree` is never constructed [INFO] [stdout] --> src/storage/btree.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct BTree { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/storage/buffer_pool.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl GlobalBufferPool { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `put` is never used [INFO] [stdout] --> src/storage/buffer_pool.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 66 | impl LocalBufferPool { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | fn put(&mut self, mem: NonNull) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:479:27 [INFO] [stdout] | [INFO] [stdout] 479 | pub fn begin_write_tx(&mut self) -> StorageResult { [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] 479 | pub fn begin_write_tx(&mut self) -> StorageResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get` and `delete` are never used [INFO] [stdout] --> src/storage/cache.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl ShardedLruCache { [INFO] [stdout] | --------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get(&self, key: &PageCacheKey) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn delete(&self, key: PageCacheKey) -> CacheResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATABASE_HEADER_SIZE` is never used [INFO] [stdout] --> src/storage/page.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const DATABASE_HEADER_SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PAGE_SIZE` is never used [INFO] [stdout] --> src/storage/page.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | 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:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | 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:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | 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:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | 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:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn usable_space(page_size: usize, reserved: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DatabaseHeader` is never constructed [INFO] [stdout] --> src/storage/page.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | 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:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl DatabaseHeader { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 63 | pub fn get_page_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn from_bytes(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | 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:242:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl Page { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn as_io_slice(&self) -> IoSlice { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | fn write_u8(&self, pos: usize, value: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn write_u32_no_offset(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn write_u32(&self, pos: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn set_free_fragments(&self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn add_free_fragment(&self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn set_len(&self, value: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn storage_space(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn storage_size(&self, cell_size: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 537 | pub fn try_replace( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 588 | pub fn child(&self, index: SlotNumber) -> PageNumber { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `offset` is never read [INFO] [stdout] --> src/storage/page.rs:997:5 [INFO] [stdout] | [INFO] [stdout] 996 | pub struct PayloadRef { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 997 | offset: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PayloadRef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_slice` is never used [INFO] [stdout] --> src/storage/page.rs:1002:12 [INFO] [stdout] | [INFO] [stdout] 1001 | impl PayloadRef { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 1002 | pub fn as_slice<'a>(&self, raw: &'a [u8]) -> &'a [u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `payload` is never used [INFO] [stdout] --> src/storage/page.rs:1023:12 [INFO] [stdout] | [INFO] [stdout] 1022 | impl IndexInternalCell { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 1023 | pub fn payload(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `payload` is never used [INFO] [stdout] --> src/storage/page.rs:1057:12 [INFO] [stdout] | [INFO] [stdout] 1056 | impl IndexLeafCell { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 1057 | pub fn payload(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `payload` is never used [INFO] [stdout] --> src/storage/page.rs:1118:12 [INFO] [stdout] | [INFO] [stdout] 1117 | impl TableLeafCell { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 1118 | pub fn payload(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_UPTODATE` is never used [INFO] [stdout] --> src/storage/pager.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const PAGE_UPTODATE: usize = 0b00001; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_ERROR` is never used [INFO] [stdout] --> src/storage/pager.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const PAGE_ERROR: usize = 0b00100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/storage/pager.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl MemPage { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_content(&self) -> &mut Page { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn is_uptodate(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set_uptodate(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn clear_uptodate(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn set_locked(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn clear_locked(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn is_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn set_error(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn clear_error(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn set_dirty(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn clear_dirty(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn is_loaded(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_loaded(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn is_index(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pager` is never constructed [INFO] [stdout] --> src/storage/pager.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct Pager { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/pager.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 149 | impl Pager { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 150 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn write_header(&mut self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn read_page(&mut self, page_number: PageNumber) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn read_page_from_disk( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn write_page(&mut self, page: MemPageRef) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn flush(&mut self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn sync(&self) -> StorageResult<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `begin_read_page` is never used [INFO] [stdout] --> src/storage/pager.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn begin_read_page(page: &MemPageRef) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `begin_write_page` is never used [INFO] [stdout] --> src/storage/pager.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn begin_write_page(page: &MemPageRef) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `complete_read_page` is never used [INFO] [stdout] --> src/storage/pager.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn complete_read_page(read_result: IoResult, (page, buffer): ReadJobCallbackArgs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `complete_write_page` is never used [INFO] [stdout] --> src/storage/pager.rs:270:8 [INFO] [stdout] | [INFO] [stdout] 270 | pub fn complete_write_page(write_result: IoResult, page: WriteJobCallbackArgs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAL_HEADER_SIZE` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const WAL_HEADER_SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAL_HEADER_SIZE_NO_CHECKSUM` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const WAL_HEADER_SIZE_NO_CHECKSUM: usize = WAL_HEADER_SIZE - size_of::<[u32; 2]>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_HEADER_SIZE` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const FRAME_HEADER_SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `READERS_NUM` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const READERS_NUM: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CHECKPOINT_SIZE` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const DEFAULT_CHECKPOINT_SIZE: FrameNumber = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Checksum` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:41:6 [INFO] [stdout] | [INFO] [stdout] 41 | type Checksum = (u32, u32); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WalHeader` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct WalHeader { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `update_checksum`, `default`, `from_bytes`, `to_bytes`, `write_to_buffer`, and `checksum_self` are never used [INFO] [stdout] --> src/storage/wal/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl WalHeader { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 61 | /// Recalculates checksum of all fields except `checksum`. [INFO] [stdout] 62 | pub fn update_checksum(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn default(page_size: u32, db_size: u32) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn from_bytes(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn write_to_buffer(&self, buffer: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn checksum_self(&self, seed: Option) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemWalHeader` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct MemWalHeader { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/storage/wal/mod.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 131 | impl MemWalHeader { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 132 | pub fn into_raw_header(&self) -> WalHeader { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn update_checksum(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn get_checkpoint_seq_num(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn get_last_checkpointed(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn get_db_size(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn get_backfilled_number(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get_checksum(&self) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn increment_checkpoint_seq_num(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn set_last_checkpointed(&self, value: PageNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn set_db_size(&self, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn set_backfilled_number(&self, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn set_checksum(&self, (val_1, val_2): Checksum) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FrameHeader` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | pub struct FrameHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes` and `to_bytes` are never used [INFO] [stdout] --> src/storage/wal/mod.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 214 | impl FrameHeader { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 215 | pub fn from_bytes(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn to_bytes(&self, buffer: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WalManager` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct WalManager { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `local_wal` are never used [INFO] [stdout] --> src/storage/wal/mod.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 242 | impl WalManager { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 243 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn local_wal(&self) -> LocalWal { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GlobalWal` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | pub struct GlobalWal { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/wal/mod.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 328 | impl GlobalWal { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 329 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | pub fn write_header(&self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn get_min_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 396 | pub fn get_max_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | pub fn get_last_checksum(&self) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn get_backfilled_number(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn get_checkpoint_seq_num(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 412 | pub fn set_min_frame(&self, value: FrameNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 416 | pub fn set_max_frame(&self, value: FrameNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | pub fn set_last_checksum(&self, value: Checksum) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | pub fn set_backfilled_number(&self, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | pub fn increment_checkpoint_seq_num(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalWal` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 434 | pub struct LocalWal { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/wal/mod.rs:446:12 [INFO] [stdout] | [INFO] [stdout] 445 | impl LocalWal { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 446 | pub fn new(global_wal: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | fn calculate_frame_offset(&self, frame_number: FrameNumber) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 459 | pub fn is_in_wal(&self, page_number: &PageNumber) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn begin_write_tx(&mut self) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | pub fn end_read_tx(&mut self, guard: ReadGuard) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 502 | pub fn end_write_tx(&mut self, guard: WriteGuard) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 519 | fn read_raw(&self, frame_number: FrameNumber, buffer: &mut [u8]) -> StorageResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 529 | pub fn read_frame( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 563 | pub fn append_frame(&mut self, page: MemPageRef, db_size: u32) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn append_vectored( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 628 | fn should_checkpoint(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 636 | pub fn checkpoint(&mut self) -> StorageResult<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WalIndex` is never constructed [INFO] [stdout] --> src/storage/wal/mod.rs:696:12 [INFO] [stdout] | [INFO] [stdout] 696 | 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:701:12 [INFO] [stdout] | [INFO] [stdout] 700 | impl WalIndex { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 701 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 713 | fn insert_latest(&self, page_number: PageNumber, frame_number: FrameNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 720 | pub fn insert(&self, page_number: PageNumber, frame_number: FrameNumber) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 728 | pub fn latest_frames_sorted(&self, max_frame: FrameNumber) -> Vec<(PageNumber, FrameNumber)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 749 | pub fn contains(&self, page_number: &PageNumber) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 753 | pub fn get(&self, page_number: &PageNumber, max_frame: FrameNumber) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 759 | 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:773:4 [INFO] [stdout] | [INFO] [stdout] 773 | fn validate_frame( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `checksum_bytes` is never used [INFO] [stdout] --> src/storage/wal/mod.rs:799:8 [INFO] [stdout] | [INFO] [stdout] 799 | pub fn checksum_bytes(data: &[u8], seed: Option) -> Checksum { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Semaphore` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Semaphore { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acquire`, and `release` are never used [INFO] [stdout] --> src/storage/wal/locks.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Semaphore { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(initial: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn acquire(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn release(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadersPool` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct ReadersPool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `FREE_SLOT`, `new`, `min_active_frame`, `get_min_frame`, `acquire`, and `release` are never used [INFO] [stdout] --> src/storage/wal/locks.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 55 | impl ReadersPool { [INFO] [stdout] | ------------------------------------------------------- associated items in this implementation [INFO] [stdout] 56 | const FREE_SLOT: FrameNumber = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 57 | [INFO] [stdout] 58 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn min_active_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_min_frame(&self, slot_id: usize) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn acquire<'a, F>( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn release(&self, slot_id: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadGuard` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct ReadGuard<'a, const READERS_NUM: usize> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `min_frame` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl<'a, const READERS_NUM: usize> ReadGuard<'a, READERS_NUM> { [INFO] [stdout] | ------------------------------------------------------------- method in this implementation [INFO] [stdout] 138 | pub fn min_frame(&self) -> FrameNumber { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WriteGuard` is never constructed [INFO] [stdout] --> src/storage/wal/locks.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 150 | pub struct WriteGuard<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl<'a> WriteGuard<'a> { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 156 | pub fn new(checkpoint_guard: RwLockReadGuard<'a, ()>, mutex_guard: MutexGuard<'a, ()>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `PackedU64` is never used [INFO] [stdout] --> src/storage/wal/locks.rs:166:11 [INFO] [stdout] | [INFO] [stdout] 166 | pub trait PackedU64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidBytes` and `InvalidAllocation` are never constructed [INFO] [stdout] --> src/utils/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Error { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 21 | InvalidBytes, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | InvalidAllocation(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `alloc_page` and `as_non_null` are never used [INFO] [stdout] --> src/utils/buffer.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Buffer { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn alloc_page(size: usize, drop: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn as_non_null(&self) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read_u8`, `try_read_u8`, `read_u16_le`, `try_read_u16_le`, `read_u64_le`, and `try_read_u64_le` are never used [INFO] [stdout] --> src/utils/bytes.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl> BytesCursor { [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 { [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 { [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 { [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 + AsMut<[u8]>> BytesCursor { [INFO] [stdout] | ------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn write_u16_le(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn try_write_u16_le(&mut self, value: u16) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn write_u32_le(&mut self, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | pub fn try_write_u32_le(&mut self, value: u32) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub fn write_u64_le(&mut self, value: u64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | pub fn try_write_u64_le(&mut self, value: u64) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `flip_n_bits` is never used [INFO] [stdout] --> src/utils/bytes.rs:420:8 [INFO] [stdout] | [INFO] [stdout] 420 | pub fn flip_n_bits(value: &mut u64, mut n: usize, positions: &mut Vec, offset: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `byte_swap_u32` is never used [INFO] [stdout] --> src/utils/bytes.rs:434:8 [INFO] [stdout] | [INFO] [stdout] 434 | pub fn byte_swap_u32(value: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pack_u64` is never used [INFO] [stdout] --> src/utils/bytes.rs:439:8 [INFO] [stdout] | [INFO] [stdout] 439 | pub fn pack_u64(a: u32, b: u32) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unpack_u64` is never used [INFO] [stdout] --> src/utils/bytes.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | pub fn unpack_u64(packed: u64) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cast` is never used [INFO] [stdout] --> src/utils/cast.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn cast(a: 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(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(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: A) -> Result { [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(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(src: &mut T) -> Result<&mut [u8]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FileOps` is never used [INFO] [stdout] --> src/utils/io.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub trait FileOps { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IO` is never used [INFO] [stdout] --> src/utils/io.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | pub trait IO { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockIO` is never constructed [INFO] [stdout] --> src/utils/io.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct BlockIO { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_io`, `increment_block_count`, `decrement_block_count`, `get_block_count`, and `calculate_offset` are never used [INFO] [stdout] --> src/utils/io.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 279 | impl BlockIO { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 280 | pub fn new(io: I, block_size: usize, block_count: usize, header_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | fn get_io(&self) -> &mut I { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | fn increment_block_count(&self, add: BlockNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | fn decrement_block_count(&self, sub: BlockNumber) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | pub fn get_block_count(&self) -> BlockNumber { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | pub fn calculate_offset(&self, block_number: BlockNumber) -> StorageResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/utils/io.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 314 | impl BlockIO { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 315 | pub fn raw_read(&self, offset: usize, buffer: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn read_header(&self, buffer: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn read( [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn raw_write(&self, offset: usize, buffer: &[u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | pub fn write_header(&self, buffer: &[u8]) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn write( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub fn write_vectored( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn truncate(&self, to_block_len: BlockNumber) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | 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:444:12 [INFO] [stdout] | [INFO] [stdout] 439 | impl BlockIO { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 444 | 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:451:12 [INFO] [stdout] | [INFO] [stdout] 449 | impl BlockIO { [INFO] [stdout] | --------------------------- method in this implementation [INFO] [stdout] 450 | /// Makes syscall to kernel to write **flushed** buffers to disk. [INFO] [stdout] 451 | pub fn sync(&self) -> io::Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size` and `persist` are never used [INFO] [stdout] --> src/utils/io.rs:458:12 [INFO] [stdout] | [INFO] [stdout] 456 | impl BlockIO { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 457 | /// Returns size of file inside wrapper in **bytes**. [INFO] [stdout] 458 | pub fn size(&self) -> io::Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 464 | pub fn persist(&self) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IoResult` is never used [INFO] [stdout] --> src/utils/io.rs:470:10 [INFO] [stdout] | [INFO] [stdout] 470 | pub type IoResult = std::result::Result>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ReadJobCallbackArgs` is never used [INFO] [stdout] --> src/utils/io.rs:472:10 [INFO] [stdout] | [INFO] [stdout] 472 | pub type ReadJobCallbackArgs = (MemPageRef, Arc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ReadJobComplete` is never used [INFO] [stdout] --> src/utils/io.rs:473:10 [INFO] [stdout] | [INFO] [stdout] 473 | pub type ReadJobComplete = dyn Fn(IoResult, ReadJobCallbackArgs); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WriteJobCallbackArgs` is never used [INFO] [stdout] --> src/utils/io.rs:475:10 [INFO] [stdout] | [INFO] [stdout] 475 | pub type WriteJobCallbackArgs = MemPageRef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WriteJobComplete` is never used [INFO] [stdout] --> src/utils/io.rs:476:10 [INFO] [stdout] | [INFO] [stdout] 476 | pub type WriteJobComplete = dyn Fn(IoResult, WriteJobCallbackArgs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `GroupJobCallbackArgs` is never used [INFO] [stdout] --> src/utils/io.rs:478:10 [INFO] [stdout] | [INFO] [stdout] 478 | pub type GroupJobCallbackArgs = MemPageRef; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `GroupJobComplete` is never used [INFO] [stdout] --> src/utils/io.rs:479:10 [INFO] [stdout] | [INFO] [stdout] 479 | pub type GroupJobComplete = dyn Fn(IoResult, GroupJobCallbackArgs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Job` is never constructed [INFO] [stdout] --> src/utils/io.rs:482:12 [INFO] [stdout] | [INFO] [stdout] 482 | pub struct Job { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `ok`, `error`, `complete`, `finish`, and `into_inner` are never used [INFO] [stdout] --> src/utils/io.rs:487:12 [INFO] [stdout] | [INFO] [stdout] 486 | impl Job { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 487 | pub fn new(inner: J) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 491 | pub fn ok(&self, bytes_read: usize) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 496 | pub fn error(&self, err: Error) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 502 | pub fn complete(&self, result: IoResult) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 506 | pub fn finish(self) -> J::Output { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | pub fn into_inner(self) -> J { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_read` is never used [INFO] [stdout] --> src/utils/io.rs:522:12 [INFO] [stdout] | [INFO] [stdout] 521 | impl Job { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 522 | pub fn new_read( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_write` is never used [INFO] [stdout] --> src/utils/io.rs:533:12 [INFO] [stdout] | [INFO] [stdout] 532 | impl Job { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 533 | pub fn new_write(mem_page: MemPageRef, complete: Box) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_group_read` and `add` are never used [INFO] [stdout] --> src/utils/io.rs:540:12 [INFO] [stdout] | [INFO] [stdout] 539 | impl Job> { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 540 | pub fn new_group_read() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 545 | pub fn add(&mut self, job: ReadJob) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_group_write` and `add` are never used [INFO] [stdout] --> src/utils/io.rs:550:12 [INFO] [stdout] | [INFO] [stdout] 549 | impl Job> { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 550 | pub fn new_group_write() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 555 | pub fn add(&mut self, job: WriteJob) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadJob` is never constructed [INFO] [stdout] --> src/utils/io.rs:560:12 [INFO] [stdout] | [INFO] [stdout] 560 | pub struct ReadJob { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/utils/io.rs:568:12 [INFO] [stdout] | [INFO] [stdout] 567 | impl ReadJob { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 568 | pub fn new(mem_page: MemPageRef, buffer: Arc, complete: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WriteJob` is never constructed [INFO] [stdout] --> src/utils/io.rs:588:12 [INFO] [stdout] | [INFO] [stdout] 588 | pub struct WriteJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/utils/io.rs:594:12 [INFO] [stdout] | [INFO] [stdout] 593 | impl WriteJob { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 594 | pub fn new(mem_page: MemPageRef, complete: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GroupJob` is never constructed [INFO] [stdout] --> src/utils/io.rs:612:12 [INFO] [stdout] | [INFO] [stdout] 612 | pub struct GroupJob { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `add` are never used [INFO] [stdout] --> src/utils/io.rs:618:12 [INFO] [stdout] | [INFO] [stdout] 616 | impl GroupJob { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] 617 | /// Creates empty group job [INFO] [stdout] 618 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 622 | pub fn add(&mut self, job: J) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `JobOperations` is never used [INFO] [stdout] --> src/utils/io.rs:641:11 [INFO] [stdout] | [INFO] [stdout] 641 | pub trait JobOperations { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:242:24 [INFO] [stdout] | [INFO] [stdout] 242 | 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] 242 | 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:379:23 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 379 | pub fn slot_array(&self) -> SlotArray<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/page.rs:383:27 [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 383 | pub fn freeblock_list(&self) -> FreeblockList<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 564 | let _ = write_btree_cell(self.as_ptr(), offset, &new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/storage/page.rs:571:9 [INFO] [stdout] | [INFO] [stdout] 571 | self.try_insert_cell(index, new_cell); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 571 | let _ = self.try_insert_cell(index, new_cell); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:463:26 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [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] 463 | pub fn begin_read_tx(&mut self) -> StorageResult> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/storage/wal/mod.rs:479:27 [INFO] [stdout] | [INFO] [stdout] 479 | pub fn begin_write_tx(&mut self) -> StorageResult { [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] 479 | pub fn begin_write_tx(&mut self) -> StorageResult> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.60s [INFO] running `Command { std: "docker" "inspect" "5f1e09b6ed9e09dc6b879cda2aa515f1bb38aa16bc9664ddbc5be99661d4db57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f1e09b6ed9e09dc6b879cda2aa515f1bb38aa16bc9664ddbc5be99661d4db57", kill_on_drop: false }` [INFO] [stdout] 5f1e09b6ed9e09dc6b879cda2aa515f1bb38aa16bc9664ddbc5be99661d4db57