[INFO] cloning repository https://github.com/pokhanto/cmu-db-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pokhanto/cmu-db-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpokhanto%2Fcmu-db-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpokhanto%2Fcmu-db-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fcc8a33b1468f5c50ecacefa8858d0ca68d47e6a [INFO] checking pokhanto/cmu-db-rs against try#3c75d5844aa65b4aa19243ac44ceda49fe4e61ca for pr-143545 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpokhanto%2Fcmu-db-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pokhanto/cmu-db-rs [INFO] finished tweaking git repo https://github.com/pokhanto/cmu-db-rs [INFO] tweaked toml for git repo https://github.com/pokhanto/cmu-db-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pokhanto/cmu-db-rs on toolchain 3c75d5844aa65b4aa19243ac44ceda49fe4e61ca [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3c75d5844aa65b4aa19243ac44ceda49fe4e61ca" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pokhanto/cmu-db-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3c75d5844aa65b4aa19243ac44ceda49fe4e61ca" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+3c75d5844aa65b4aa19243ac44ceda49fe4e61ca" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4fa4a03aa971afd0fd754a07d3b0243b8c3f4185dd0f03eb8956fcc6996ff8e3 [INFO] running `Command { std: "docker" "start" "-a" "4fa4a03aa971afd0fd754a07d3b0243b8c3f4185dd0f03eb8956fcc6996ff8e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4fa4a03aa971afd0fd754a07d3b0243b8c3f4185dd0f03eb8956fcc6996ff8e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fa4a03aa971afd0fd754a07d3b0243b8c3f4185dd0f03eb8956fcc6996ff8e3", kill_on_drop: false }` [INFO] [stdout] 4fa4a03aa971afd0fd754a07d3b0243b8c3f4185dd0f03eb8956fcc6996ff8e3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+3c75d5844aa65b4aa19243ac44ceda49fe4e61ca" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b922912bfb6ab1b9eac40f2bfcdecbb99124f6c80331682c347b85439a24f0b [INFO] running `Command { std: "docker" "start" "-a" "9b922912bfb6ab1b9eac40f2bfcdecbb99124f6c80331682c347b85439a24f0b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.161 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling serde v1.0.209 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling serde_json v1.0.132 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling rustix v0.38.38 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking clap_builder v4.5.20 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking brotli-decompressor v2.5.1 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking regex-automata v0.4.8 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking brotli v3.5.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking clap v4.5.20 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking tempfile v3.13.0 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.209 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking random_word v0.4.3 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking cmu-db-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/disk_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockWriteGuard` [INFO] [stdout] --> src/disk_scheduler.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use parking_lot::{Mutex, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/disk_scheduler.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | page::{Page, PageId}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/disk_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockWriteGuard` [INFO] [stdout] --> src/disk_scheduler.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use parking_lot::{Mutex, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/disk_scheduler.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | page::{Page, PageId}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:92:22 [INFO] [stdout] | [INFO] [stdout] 92 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:130:22 [INFO] [stdout] | [INFO] [stdout] 130 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:137:18 [INFO] [stdout] | [INFO] [stdout] 137 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn read_page(&self, page: &Vec) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:18:30 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn write_page(&self, page: &Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/disk_scheduler.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | id: usize, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bucket_index` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `disk_scheduler` is never read [INFO] [stdout] --> src/buffer_pool_manager.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BufferPoolManager { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | disk_scheduler: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferPoolManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `push` is never used [INFO] [stdout] --> src/disk_scheduler.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DiskRequestQueue { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push(&mut self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `queue` is never read [INFO] [stdout] --> src/disk_scheduler.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 108 | struct WorkerPool { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 109 | workers: Vec, [INFO] [stdout] 110 | queue: Arc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WorkerPool` 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 `execute` is never used [INFO] [stdout] --> src/disk_scheduler.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl WorkerPool { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 134 | fn execute(&self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pool` is never read [INFO] [stdout] --> src/disk_scheduler.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct DiskScheduler { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 158 | pool: WorkerPool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiskScheduler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `schedule_read` and `schedule_write` are never used [INFO] [stdout] --> src/disk_scheduler.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl DiskScheduler { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn schedule_read(&self, page: Arc<(PageId, Vec)>, callback_sender: Sender>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn schedule_write( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frame_id` is never read [INFO] [stdout] --> src/lru_k_replacer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct LruKNode { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 16 | k: usize, [INFO] [stdout] 17 | frame_id: FrameId, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num_of_frames` is never read [INFO] [stdout] --> src/lru_k_replacer.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct LruKReplacer { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 64 | num_of_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKReplacer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Lookup`, `Scan`, and `Index` are never constructed [INFO] [stdout] --> src/lru_k_replacer.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum AccessType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 70 | Unknown, [INFO] [stdout] 71 | Lookup, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 72 | Scan, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `size` is never used [INFO] [stdout] --> src/lru_k_replacer.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl LruKReplacer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_with_id` and `pin` are never used [INFO] [stdout] --> src/page.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Page { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn new_with_id(id: PageId) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn pin(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ExtendibleHashTable { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 33 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExtendibleHashTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lookup`, `delete`, `is_empty`, `get_max_size`, and `get_size` are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 19 | / impl ExtendibleHTableBucketPage [INFO] [stdout] 20 | | where [INFO] [stdout] 21 | | K: Hash + Eq + Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] 22 | | V: Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] | |____________________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn delete(&mut self, key: K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExtendibleHTableDirectoryPage { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn init(&mut self, page_id: PageId) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_local_depth_mask(&mut self, bucket_index: BucketIndex) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn decrement_global_depth(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_local_depth(&mut self, bucket_index: BucketIndex, local_depth: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn decrement_local_depth(&mut self, bucket_index: BucketIndex) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn verify_integrity(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_max_size` and `from_bytes` are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl ExtendibleHTableHeaderPage { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/buffer_pool_manager.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | drop(frame); [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&Page` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 220 - drop(frame); [INFO] [stdout] 220 + let _ = frame; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:92:22 [INFO] [stdout] | [INFO] [stdout] 92 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:130:22 [INFO] [stdout] | [INFO] [stdout] 130 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:137:18 [INFO] [stdout] | [INFO] [stdout] 137 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn read_page(&self, page: &Vec) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:18:30 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn write_page(&self, page: &Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/disk_scheduler.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | id: usize, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/disk_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockWriteGuard` [INFO] [stdout] --> src/disk_scheduler.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use parking_lot::{Mutex, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/disk_scheduler.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | page::{Page, PageId}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bucket_index` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `disk_scheduler` is never read [INFO] [stdout] --> src/buffer_pool_manager.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BufferPoolManager { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | disk_scheduler: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferPoolManager` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `push` is never used [INFO] [stdout] --> src/disk_scheduler.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DiskRequestQueue { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push(&mut self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `queue` is never read [INFO] [stdout] --> src/disk_scheduler.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 108 | struct WorkerPool { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 109 | workers: Vec, [INFO] [stdout] 110 | queue: Arc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WorkerPool` 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 `execute` is never used [INFO] [stdout] --> src/disk_scheduler.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl WorkerPool { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 134 | fn execute(&self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pool` is never read [INFO] [stdout] --> src/disk_scheduler.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct DiskScheduler { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 158 | pool: WorkerPool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiskScheduler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `schedule_read` and `schedule_write` are never used [INFO] [stdout] --> src/disk_scheduler.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl DiskScheduler { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn schedule_read(&self, page: Arc<(PageId, Vec)>, callback_sender: Sender>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn schedule_write( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frame_id` is never read [INFO] [stdout] --> src/lru_k_replacer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct LruKNode { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 16 | k: usize, [INFO] [stdout] 17 | frame_id: FrameId, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num_of_frames` is never read [INFO] [stdout] --> src/lru_k_replacer.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct LruKReplacer { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 64 | num_of_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKReplacer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Lookup`, `Scan`, and `Index` are never constructed [INFO] [stdout] --> src/lru_k_replacer.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum AccessType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 70 | Unknown, [INFO] [stdout] 71 | Lookup, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 72 | Scan, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_with_id` and `pin` are never used [INFO] [stdout] --> src/page.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Page { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn new_with_id(id: PageId) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn pin(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ExtendibleHashTable { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 33 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExtendibleHashTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lookup`, `delete`, `is_empty`, `get_max_size`, and `get_size` are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 19 | / impl ExtendibleHTableBucketPage [INFO] [stdout] 20 | | where [INFO] [stdout] 21 | | K: Hash + Eq + Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] 22 | | V: Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] | |____________________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn delete(&mut self, key: K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExtendibleHTableDirectoryPage { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn init(&mut self, page_id: PageId) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_local_depth_mask(&mut self, bucket_index: BucketIndex) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn decrement_global_depth(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_local_depth(&mut self, bucket_index: BucketIndex, local_depth: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn decrement_local_depth(&mut self, bucket_index: BucketIndex) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn verify_integrity(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_max_size` and `from_bytes` are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl ExtendibleHTableHeaderPage { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/buffer_pool_manager.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | drop(frame); [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&Page` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 220 - drop(frame); [INFO] [stdout] 220 + let _ = frame; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> benches/bench.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::{atomic::AtomicU32, mpsc, Arc, Mutex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> benches/bench.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/disk_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLockWriteGuard` [INFO] [stdout] --> src/disk_scheduler.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use parking_lot::{Mutex, RwLockWriteGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/disk_scheduler.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | page::{Page, PageId}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::page::Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::Page; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Page` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::page::{Page, PageId}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread_number` [INFO] [stdout] --> benches/bench.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | |b, thread_number| { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread_number` [INFO] [stdout] --> benches/bench.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | |b, thread_number| { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> benches/bench.rs:154:39 [INFO] [stdout] | [INFO] [stdout] 154 | ... let (key, value) = data_to_read.get(i as usize).unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> benches/bench.rs:155:33 [INFO] [stdout] | [INFO] [stdout] 155 | ... let result = match hash_table_read.get(key.to_string()) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:92:22 [INFO] [stdout] | [INFO] [stdout] 92 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:130:22 [INFO] [stdout] | [INFO] [stdout] 130 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:137:18 [INFO] [stdout] | [INFO] [stdout] 137 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn read_page(&self, page: &Vec) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:18:30 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn write_page(&self, page: &Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/disk_scheduler.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | id: usize, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:92:22 [INFO] [stdout] | [INFO] [stdout] 92 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:130:22 [INFO] [stdout] | [INFO] [stdout] 130 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:137:18 [INFO] [stdout] | [INFO] [stdout] 137 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sender` [INFO] [stdout] --> src/buffer_pool_manager.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | let (sender, receiver) = mpsc::channel::>(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn read_page(&self, page: &Vec) -> Vec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/disk_manager.rs:18:30 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn write_page(&self, page: &Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/disk_scheduler.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | id: usize, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bucket_index` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BufferPoolManager` is never constructed [INFO] [stdout] --> src/buffer_pool_manager.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BufferPoolManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer_pool_manager.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl BufferPoolManager { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 25 | pub fn new(disk_manager: DiskManager, pool_size: usize, replacer_k: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn new_page(&self) -> Option<(PageId, RwLockWriteGuard<'_, Vec>)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn fetch_page_read(&self, page_id: PageId) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn fetch_page_write(&self, page_id: PageId) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn unpin_page(&self, page_id: PageId, is_dirty: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn flush_page(&self, page_id: PageId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn delete_page(&self, page_id: PageId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn allocate_page(&self) -> PageId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn deallocate_page(&self, _page_id: PageId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskManager` is never constructed [INFO] [stdout] --> src/disk_manager.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DiskManager {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `read_page`, and `write_page` are never used [INFO] [stdout] --> src/disk_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl DiskManager { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn read_page(&self, page: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn write_page(&self, page: &Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskRequestQueue` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct DiskRequestQueue { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `start_processing`, and `end_processing` are never used [INFO] [stdout] --> src/disk_scheduler.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DiskRequestQueue { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push(&mut self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn start_processing(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn end_processing(&mut self, page_id: &PageId) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:26 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:31:34 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Worker` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/disk_scheduler.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl Worker { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 66 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkerPool` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | struct WorkerPool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `execute` are never used [INFO] [stdout] --> src/disk_scheduler.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl WorkerPool { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 115 | fn new(size: usize, disk_manager: DiskManager) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn execute(&self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskRequest` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | struct DiskRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskScheduler` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct DiskScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `schedule_read`, and `schedule_write` are never used [INFO] [stdout] --> src/disk_scheduler.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl DiskScheduler { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 162 | pub fn new(disk_manager: DiskManager) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn schedule_read(&self, page: Arc<(PageId, Vec)>, callback_sender: Sender>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn schedule_write( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frame_id` is never read [INFO] [stdout] --> src/lru_k_replacer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct LruKNode { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 16 | k: usize, [INFO] [stdout] 17 | frame_id: FrameId, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKNode` 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 `new` and `record_access` are never used [INFO] [stdout] --> src/lru_k_replacer.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl LruKNode { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 23 | fn new(frame_id: FrameId, k: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | fn record_access(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `num_of_frames` and `k` are never read [INFO] [stdout] --> src/lru_k_replacer.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct LruKReplacer { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 64 | num_of_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 65 | k: usize, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKReplacer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AccessType` is never used [INFO] [stdout] --> src/lru_k_replacer.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum AccessType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_access`, `remove`, `set_evictable`, and `size` are never used [INFO] [stdout] --> src/lru_k_replacer.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl LruKReplacer { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn record_access(&mut self, frame_id: FrameId, _access_type: AccessType) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn remove(&mut self, frame_id: FrameId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn set_evictable(&mut self, frame_id: FrameId, is_evictable: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_SIZE` is never used [INFO] [stdout] --> src/page.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const PAGE_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Page` is never constructed [INFO] [stdout] --> src/page.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Page { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/page.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Page { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn new_with_id(id: PageId) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn get_data_read(&self) -> RwLockReadGuard<'_, Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_data_write(&self) -> RwLockWriteGuard<'_, Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn pin(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn unpin(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn is_pinned(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn set_dirty(&self, is_dirty: bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_dirty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn get_id(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn set_id(&self, id: PageId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_string` is never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn hash_string(s: String) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendibleHashTable` is never constructed [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ExtendibleHashTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `insert_internal`, `get`, and `verify_integrity` are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 42 | / impl ExtendibleHashTable [INFO] [stdout] 43 | | where [INFO] [stdout] 44 | | K: Hash + Eq + Clone + Debug + Serialize + DeserializeOwned + ToString, [INFO] [stdout] 45 | | V: Copy + Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] | |___________________________________________________________- associated items in this implementation [INFO] [stdout] 46 | { [INFO] [stdout] 47 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn insert(&self, key: K, value: V) -> Result<(), ExtendibleHashTableError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn insert_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn get(&self, key: K) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 326 | pub fn verify_integrity(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ExtendibleHashTableError` is never used [INFO] [stdout] --> src/storage/extendible_hash_table/error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ExtendibleHashTableError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 19 | / impl ExtendibleHTableBucketPage [INFO] [stdout] 20 | | where [INFO] [stdout] 21 | | K: Hash + Eq + Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] 22 | | V: Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] | |____________________________________________________- associated items in this implementation [INFO] [stdout] 23 | { [INFO] [stdout] 24 | pub fn new(max_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn insert(&mut self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get(&self, key: K) -> Option<&V> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn delete(&mut self, key: K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_entries(&mut self) -> Vec<(K, V)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BucketIndex` is never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type BucketIndex = usize; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExtendibleHTableDirectoryPage { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] 23 | pub fn new(max_depth: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn init(&mut self, page_id: PageId) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn hash_to_bucket_index(&self, hash: u32) -> BucketIndex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn get_bucket_page_id(&self, bucket_index: BucketIndex) -> Option<&PageId> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn get_split_image_index(&mut self, bucket_index: BucketIndex) -> BucketIndex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_global_depth_mask(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_local_depth_mask(&mut self, bucket_index: BucketIndex) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn get_global_depth(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn increment_global_depth(&mut self) -> Result<(), ExtendibleHashTableError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn decrement_global_depth(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_local_depth(&mut self, bucket_index: BucketIndex) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_local_depth(&mut self, bucket_index: BucketIndex, local_depth: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn increment_local_depth(&mut self, bucket_index: BucketIndex) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn decrement_local_depth(&mut self, bucket_index: BucketIndex) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn set_bucket_page_id(&mut self, bucket_index: BucketIndex, bucket_page_id: PageId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn verify_integrity(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl ExtendibleHTableHeaderPage { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(max_depth: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn hash_to_directory_index(&self, hash: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get_directory_page_id(&self, directory_index: usize) -> Option<&PageId> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_directory_page_id(&mut self, directory_index: usize, directory_page_id: PageId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bucket_index` [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:145:31 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BufferPoolManager` is never constructed [INFO] [stdout] --> src/buffer_pool_manager.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct BufferPoolManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer_pool_manager.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl BufferPoolManager { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 25 | pub fn new(disk_manager: DiskManager, pool_size: usize, replacer_k: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn new_page(&self) -> Option<(PageId, RwLockWriteGuard<'_, Vec>)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn fetch_page_read(&self, page_id: PageId) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn fetch_page_write(&self, page_id: PageId) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn unpin_page(&self, page_id: PageId, is_dirty: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn flush_page(&self, page_id: PageId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn delete_page(&self, page_id: PageId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn allocate_page(&self) -> PageId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn deallocate_page(&self, _page_id: PageId) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskManager` is never constructed [INFO] [stdout] --> src/disk_manager.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DiskManager {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `read_page`, and `write_page` are never used [INFO] [stdout] --> src/disk_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl DiskManager { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn read_page(&self, page: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn write_page(&self, page: &Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskRequestQueue` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct DiskRequestQueue { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `start_processing`, and `end_processing` are never used [INFO] [stdout] --> src/disk_scheduler.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl DiskRequestQueue { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn push(&mut self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn start_processing(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn end_processing(&mut self, page_id: &PageId) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Worker` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | struct Worker { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/disk_scheduler.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl Worker { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 66 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkerPool` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | struct WorkerPool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `execute` are never used [INFO] [stdout] --> src/disk_scheduler.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl WorkerPool { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 115 | fn new(size: usize, disk_manager: DiskManager) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn execute(&self, disk_request: DiskRequest) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskRequest` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | struct DiskRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiskScheduler` is never constructed [INFO] [stdout] --> src/disk_scheduler.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 157 | pub struct DiskScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `schedule_read`, and `schedule_write` are never used [INFO] [stdout] --> src/disk_scheduler.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl DiskScheduler { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 162 | pub fn new(disk_manager: DiskManager) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn schedule_read(&self, page: Arc<(PageId, Vec)>, callback_sender: Sender>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn schedule_write( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frame_id` is never read [INFO] [stdout] --> src/lru_k_replacer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct LruKNode { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 16 | k: usize, [INFO] [stdout] 17 | frame_id: FrameId, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `num_of_frames` is never read [INFO] [stdout] --> src/lru_k_replacer.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct LruKReplacer { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 64 | num_of_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LruKReplacer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Lookup`, `Scan`, and `Index` are never constructed [INFO] [stdout] --> src/lru_k_replacer.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum AccessType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 70 | Unknown, [INFO] [stdout] 71 | Lookup, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 72 | Scan, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_SIZE` is never used [INFO] [stdout] --> src/page.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const PAGE_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Page` is never constructed [INFO] [stdout] --> src/page.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Page { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/page.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Page { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn new_with_id(id: PageId) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn get_data_read(&self) -> RwLockReadGuard<'_, Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_data_write(&self) -> RwLockWriteGuard<'_, Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn pin(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn unpin(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn is_pinned(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn set_dirty(&self, is_dirty: bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_dirty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn get_id(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn set_id(&self, id: PageId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_string` is never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn hash_string(s: String) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtendibleHashTable` is never constructed [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ExtendibleHashTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `insert_internal`, `get`, and `verify_integrity` are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 42 | / impl ExtendibleHashTable [INFO] [stdout] 43 | | where [INFO] [stdout] 44 | | K: Hash + Eq + Clone + Debug + Serialize + DeserializeOwned + ToString, [INFO] [stdout] 45 | | V: Copy + Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] | |___________________________________________________________- associated items in this implementation [INFO] [stdout] 46 | { [INFO] [stdout] 47 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn insert(&self, key: K, value: V) -> Result<(), ExtendibleHashTableError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn insert_internal( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn get(&self, key: K) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 326 | pub fn verify_integrity(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ExtendibleHashTableError` is never used [INFO] [stdout] --> src/storage/extendible_hash_table/error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ExtendibleHashTableError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_bucket_page.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 19 | / impl ExtendibleHTableBucketPage [INFO] [stdout] 20 | | where [INFO] [stdout] 21 | | K: Hash + Eq + Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] 22 | | V: Clone + Debug + Serialize + DeserializeOwned, [INFO] [stdout] | |____________________________________________________- associated items in this implementation [INFO] [stdout] 23 | { [INFO] [stdout] 24 | pub fn new(max_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn lookup(&self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn insert(&mut self, key: K, value: V) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get(&self, key: K) -> Option<&V> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn delete(&mut self, key: K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_entries(&mut self) -> Vec<(K, V)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BucketIndex` is never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type BucketIndex = usize; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_directory_page.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ExtendibleHTableDirectoryPage { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] 23 | pub fn new(max_depth: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn init(&mut self, page_id: PageId) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn hash_to_bucket_index(&self, hash: u32) -> BucketIndex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn get_bucket_page_id(&self, bucket_index: BucketIndex) -> Option<&PageId> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn get_split_image_index(&mut self, bucket_index: BucketIndex) -> BucketIndex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_global_depth_mask(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_local_depth_mask(&mut self, bucket_index: BucketIndex) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn get_global_depth(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn increment_global_depth(&mut self) -> Result<(), ExtendibleHashTableError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn decrement_global_depth(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_local_depth(&mut self, bucket_index: BucketIndex) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_local_depth(&mut self, bucket_index: BucketIndex, local_depth: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn increment_local_depth(&mut self, bucket_index: BucketIndex) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn decrement_local_depth(&mut self, bucket_index: BucketIndex) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn set_bucket_page_id(&mut self, bucket_index: BucketIndex, bucket_page_id: PageId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn is_full(&mut self, bucket_index: BucketIndex) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn verify_integrity(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/storage/extendible_hash_table/extendible_hash_table_header_page.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl ExtendibleHTableHeaderPage { [INFO] [stdout] | ------------------------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(max_depth: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn hash_to_directory_index(&self, hash: u32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get_directory_page_id(&self, directory_index: usize) -> Option<&PageId> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_directory_page_id(&mut self, directory_index: usize, directory_page_id: PageId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_max_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn from_bytes(bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/buffer_pool_manager.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | drop(frame); [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&Page` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 220 - drop(frame); [INFO] [stdout] 220 + let _ = frame; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/buffer_pool_manager.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | drop(frame); [INFO] [stdout] | ^^^^^-----^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&Page` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 220 - drop(frame); [INFO] [stdout] 220 + let _ = frame; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.90s [INFO] running `Command { std: "docker" "inspect" "9b922912bfb6ab1b9eac40f2bfcdecbb99124f6c80331682c347b85439a24f0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b922912bfb6ab1b9eac40f2bfcdecbb99124f6c80331682c347b85439a24f0b", kill_on_drop: false }` [INFO] [stdout] 9b922912bfb6ab1b9eac40f2bfcdecbb99124f6c80331682c347b85439a24f0b