[INFO] fetching crate bustubx 0.3.0... [INFO] checking bustubx-0.3.0 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate bustubx 0.3.0 into /workspace/builds/worker-7-tc1/source [INFO] validating manifest of crates.io crate bustubx 0.3.0 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate bustubx 0.3.0 [INFO] finished tweaking crates.io crate bustubx 0.3.0 [INFO] tweaked toml for crates.io crate bustubx 0.3.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 55 packages to latest compatible versions [INFO] [stderr] Adding crossterm v0.27.0 (latest: v0.28.1) [INFO] [stderr] Adding dashmap v5.5.3 (latest: v6.0.1) [INFO] [stderr] Adding derive-new v0.5.9 (latest: v0.7.0) [INFO] [stderr] Adding itertools v0.11.0 (latest: v0.13.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (latest: v0.6.5) [INFO] [stderr] Adding sqlparser v0.34.0 (latest: v0.50.0) [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.77) [INFO] [stderr] Adding windows-sys v0.52.0 (latest: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded derive-with v0.5.0 [INFO] [stderr] Downloaded sqlparser v0.34.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] db5d09da1a8c83d6fd3631e2f249ec667f2dba515f0ee449d8f51e8e08243811 [INFO] running `Command { std: "docker" "start" "-a" "db5d09da1a8c83d6fd3631e2f249ec667f2dba515f0ee449d8f51e8e08243811", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "db5d09da1a8c83d6fd3631e2f249ec667f2dba515f0ee449d8f51e8e08243811", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db5d09da1a8c83d6fd3631e2f249ec667f2dba515f0ee449d8f51e8e08243811", kill_on_drop: false }` [INFO] [stdout] db5d09da1a8c83d6fd3631e2f249ec667f2dba515f0ee449d8f51e8e08243811 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 831db9c173002a94be15b3679c2f2da184f86fa2e6c8d205561ff1779d44781e [INFO] running `Command { std: "docker" "start" "-a" "831db9c173002a94be15b3679c2f2da184f86fa2e6c8d205561ff1779d44781e", kill_on_drop: false }` [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking sqlparser v0.34.0 [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Compiling derive-new v0.5.9 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling derive-with v0.5.0 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking comfy-table v7.1.1 [INFO] [stderr] Checking bustubx v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::storage::codec::TablePageCodec` [INFO] [stdout] --> src/catalog/information.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::storage::codec::TablePageCodec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::storage::codec::BPlusTreePageCodec` [INFO] [stdout] --> src/common/util.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::storage::codec::BPlusTreePageCodec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/execution/physical_plan/values.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `catalog::Schema` [INFO] [stdout] --> src/execution/physical_plan/values.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | catalog::Schema, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::storage::codec::TablePageCodec` [INFO] [stdout] --> src/catalog/information.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::storage::codec::TablePageCodec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::storage::codec::BPlusTreePageCodec` [INFO] [stdout] --> src/common/util.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::storage::codec::BPlusTreePageCodec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/execution/physical_plan/values.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `catalog::Schema` [INFO] [stdout] --> src/execution/physical_plan/values.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | catalog::Schema, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/catalog/catalog.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct CatalogSchema { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 29 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CatalogSchema` 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: field `name` is never read [INFO] [stdout] --> src/catalog/catalog.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct CatalogTable { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 44 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CatalogTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `disk_manager` and `temp_dir` are never read [INFO] [stdout] --> src/database.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Database { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 21 | disk_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | temp_dir: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `join_type` is never read [INFO] [stdout] --> src/execution/physical_plan/nested_loop_join.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct PhysicalNestedLoopJoin { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 18 | pub join_type: JoinType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhysicalNestedLoopJoin` 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 `table_schema` is never read [INFO] [stdout] --> src/execution/physical_plan/update.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct PhysicalUpdate { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 13 | pub table: TableReference, [INFO] [stdout] 14 | pub table_schema: SchemaRef, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhysicalUpdate` 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 `name` is never used [INFO] [stdout] --> src/optimizer/logical_optimizer.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait LogicalOptimizerRule { [INFO] [stdout] | -------------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 16 | fn name(&self) -> &str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root_page_id` and `write_set` are never read [INFO] [stdout] --> src/storage/index.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | struct Context { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 22 | pub root_page_id: PageId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 23 | pub write_set: VecDeque, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_subtree_max_leafkv` is never used [INFO] [stdout] --> src/storage/index.rs:526:8 [INFO] [stdout] | [INFO] [stdout] 46 | impl BPlusTreeIndex { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 526 | fn find_subtree_max_leafkv(&self, page_id: PageId) -> BustubxResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LockMode` is never used [INFO] [stdout] --> src/transaction/lock_manager.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum LockMode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LockMode` 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 `LockRequest` is never constructed [INFO] [stdout] --> src/transaction/lock_manager.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct LockRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LockManager` is never constructed [INFO] [stdout] --> src/transaction/lock_manager.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct LockManager { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lock_table`, `unlock_table`, `lock_row`, `unlock_row`, and `unlock_all` are never used [INFO] [stdout] --> src/transaction/lock_manager.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl LockManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 29 | pub fn lock_table( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn unlock_table(&self, _txn: Transaction, _table_ref: TableReference) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn lock_row( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn unlock_row( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn unlock_all(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transaction` is never constructed [INFO] [stdout] --> src/transaction/transaction.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Transaction {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IsolationLevel` is never used [INFO] [stdout] --> src/transaction/transaction_manager.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum IsolationLevel { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionManager` is never constructed [INFO] [stdout] --> src/transaction/transaction_manager.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct TransactionManager {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `begin`, `commit`, and `abort` are never used [INFO] [stdout] --> src/transaction/transaction_manager.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl TransactionManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 12 | pub fn begin(&self, _isolation_level: IsolationLevel) -> Transaction { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn commit(&self, _txn: Transaction) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn abort(&self, _txn: Transaction) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `fetch_tree_internal_page` and `delete_page` are never used [INFO] [stdout] --> src/buffer/buffer_pool.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl BufferPoolManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn fetch_tree_internal_page( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn delete_page(&self, page_id: PageId) -> BustubxResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `destroy` is never used [INFO] [stdout] --> src/buffer/page.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Page { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn destroy(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/catalog/catalog.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct CatalogSchema { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 29 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CatalogSchema` 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 `name` is never read [INFO] [stdout] --> src/catalog/catalog.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct CatalogTable { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 44 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CatalogTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pretty_format_index_tree` is never used [INFO] [stdout] --> src/common/util.rs:74:15 [INFO] [stdout] | [INFO] [stdout] 74 | pub(crate) fn pretty_format_index_tree(index: &BPlusTreeIndex) -> BustubxResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `disk_manager` and `temp_dir` are never read [INFO] [stdout] --> src/database.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Database { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 21 | disk_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | temp_dir: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `join_type` is never read [INFO] [stdout] --> src/execution/physical_plan/nested_loop_join.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct PhysicalNestedLoopJoin { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 18 | pub join_type: JoinType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhysicalNestedLoopJoin` 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 `table_schema` is never read [INFO] [stdout] --> src/execution/physical_plan/update.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct PhysicalUpdate { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 13 | pub table: TableReference, [INFO] [stdout] 14 | pub table_schema: SchemaRef, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhysicalUpdate` 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 `name` is never used [INFO] [stdout] --> src/optimizer/logical_optimizer.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait LogicalOptimizerRule { [INFO] [stdout] | -------------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 16 | fn name(&self) -> &str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_rules` is never used [INFO] [stdout] --> src/optimizer/logical_optimizer.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl LogicalOptimizer { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn with_rules(rules: Vec>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deallocate_page`, `freelist_push`, and `db_file_len` are never used [INFO] [stdout] --> src/storage/disk_manager.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl DiskManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn deallocate_page(&self, page_id: PageId) -> BustubxResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn freelist_push(&self, page_id: PageId) -> BustubxResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn db_file_len(&self) -> BustubxResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root_page_id` and `write_set` are never read [INFO] [stdout] --> src/storage/index.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | struct Context { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 22 | pub root_page_id: PageId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 23 | pub write_set: VecDeque, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/storage/index.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl BPlusTreeIndex { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn delete(&self, key: &Tuple) -> BustubxResult<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn get(&self, key: &Tuple) -> BustubxResult> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | fn borrow_min_kv( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | fn borrow_max_kv( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | fn borrow( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | fn find_sibling_pages( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 446 | fn merge( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 526 | fn find_subtree_max_leafkv(&self, page_id: PageId) -> BustubxResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_full` and `push` are never used [INFO] [stdout] --> src/storage/page/freelist_page.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl FreelistPage { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn push(&mut self, page_id: PageId) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_underflow` and `can_borrow` are never used [INFO] [stdout] --> src/storage/page/index_page.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl BPlusTreePage { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn is_underflow(&self, is_root: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn can_borrow(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/storage/page/index_page.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 82 | impl BPlusTreeInternalPage { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn min_size(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn key_at(&self, index: usize) -> &Tuple { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn values(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn sibling_page_ids(&self, page_id: PageId) -> (Option, Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn delete(&mut self, key: &Tuple) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn delete_page_id(&mut self, page_id: PageId) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn reverse_split_off(&mut self, at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn replace_key(&mut self, old_key: &Tuple, new_key: Tuple) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn key_index(&self, key: &Tuple) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `min_size`, `reverse_split_off`, `delete`, `look_up`, and `key_index` are never used [INFO] [stdout] --> src/storage/page/index_page.rs:323:12 [INFO] [stdout] | [INFO] [stdout] 296 | impl BPlusTreeLeafPage { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn min_size(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn reverse_split_off(&mut self, at: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn delete(&mut self, key: &Tuple) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | pub fn look_up(&self, key: &Tuple) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | fn key_index(&self, key: &Tuple) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_tuple_meta` and `tuple_meta` are never used [INFO] [stdout] --> src/storage/page/table_page.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl TablePage { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn update_tuple_meta(&mut self, meta: TupleMeta, slot_num: u16) -> BustubxResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn tuple_meta(&self, slot_num: u16) -> BustubxResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_tuple_meta` and `tuple_meta` are never used [INFO] [stdout] --> src/storage/table_heap.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl TableHeap { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn update_tuple_meta(&self, meta: TupleMeta, rid: RecordId) -> BustubxResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn tuple_meta(&self, rid: RecordId) -> BustubxResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LockMode` is never used [INFO] [stdout] --> src/transaction/lock_manager.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum LockMode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LockMode` 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 `LockRequest` is never constructed [INFO] [stdout] --> src/transaction/lock_manager.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct LockRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LockManager` is never constructed [INFO] [stdout] --> src/transaction/lock_manager.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct LockManager { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lock_table`, `unlock_table`, `lock_row`, `unlock_row`, and `unlock_all` are never used [INFO] [stdout] --> src/transaction/lock_manager.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl LockManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 29 | pub fn lock_table( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn unlock_table(&self, _txn: Transaction, _table_ref: TableReference) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn lock_row( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn unlock_row( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn unlock_all(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transaction` is never constructed [INFO] [stdout] --> src/transaction/transaction.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Transaction {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IsolationLevel` is never used [INFO] [stdout] --> src/transaction/transaction_manager.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum IsolationLevel { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionManager` is never constructed [INFO] [stdout] --> src/transaction/transaction_manager.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct TransactionManager {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `begin`, `commit`, and `abort` are never used [INFO] [stdout] --> src/transaction/transaction_manager.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl TransactionManager { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 12 | pub fn begin(&self, _isolation_level: IsolationLevel) -> Transaction { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn commit(&self, _txn: Transaction) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn abort(&self, _txn: Transaction) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.61s [INFO] running `Command { std: "docker" "inspect" "831db9c173002a94be15b3679c2f2da184f86fa2e6c8d205561ff1779d44781e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "831db9c173002a94be15b3679c2f2da184f86fa2e6c8d205561ff1779d44781e", kill_on_drop: false }` [INFO] [stdout] 831db9c173002a94be15b3679c2f2da184f86fa2e6c8d205561ff1779d44781e