[INFO] fetching crate bustubx 0.3.0...
[INFO] testing bustubx-0.3.0 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate bustubx 0.3.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate bustubx 0.3.0 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "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-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 54 packages to latest compatible versions
[INFO] [stderr]       Adding derive-new v0.5.9 (latest: v0.6.0)
[INFO] [stderr]       Adding heck v0.4.1 (latest: v0.5.0)
[INFO] [stderr]       Adding itertools v0.11.0 (latest: v0.13.0)
[INFO] [stderr]       Adding linux-raw-sys v0.4.14 (latest: v0.6.4)
[INFO] [stderr]       Adding sqlparser v0.34.0 (latest: v0.46.0)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.66)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sqlparser v0.34.0
[INFO] [stderr]   Downloaded derive-with v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 80426ecd22f9a4e1bd853c0841c87add08dd8468c05d23d121c7e41fa862e3be
[INFO] running `Command { std: "docker" "start" "-a" "80426ecd22f9a4e1bd853c0841c87add08dd8468c05d23d121c7e41fa862e3be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80426ecd22f9a4e1bd853c0841c87add08dd8468c05d23d121c7e41fa862e3be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80426ecd22f9a4e1bd853c0841c87add08dd8468c05d23d121c7e41fa862e3be", kill_on_drop: false }`
[INFO] [stdout] 80426ecd22f9a4e1bd853c0841c87add08dd8468c05d23d121c7e41fa862e3be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a64b446bc2f413fe95cf01d66a63d478874f51cd959a8d2f3e7077bf8fca5276
[INFO] running `Command { std: "docker" "start" "-a" "a64b446bc2f413fe95cf01d66a63d478874f51cd959a8d2f3e7077bf8fca5276", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.83
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling either v1.12.0
[INFO] [stderr]    Compiling unicode-width v0.1.12
[INFO] [stderr]    Compiling fastrand v2.1.0
[INFO] [stderr]    Compiling sqlparser v0.34.0
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]    Compiling strum_macros v0.26.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling derive-with v0.5.0
[INFO] [stderr]    Compiling strum v0.26.2
[INFO] [stderr]    Compiling comfy-table v7.1.1
[INFO] [stderr]    Compiling 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: 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<bool> {
[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<String> {
[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<DiskManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     temp_dir: Option<TempDir>,
[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<Arc<dyn LogicalOptimizerRule + Send + Sync>>) -> 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<u64> {
[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<PageId>,
[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<Option<RecordId>> {
[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<LeafKV> {
[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<PageId> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn sibling_page_ids(&self, page_id: PageId) -> (Option<PageId>, Option<PageId>) {
[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<InternalKV> {
[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<usize> {
[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<LeafKV> {
[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<RecordId> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn key_index(&self, key: &Tuple) -> Option<usize> {
[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<TupleMeta> {
[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<TupleMeta> {
[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 6.88s
[INFO] running `Command { std: "docker" "inspect" "a64b446bc2f413fe95cf01d66a63d478874f51cd959a8d2f3e7077bf8fca5276", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a64b446bc2f413fe95cf01d66a63d478874f51cd959a8d2f3e7077bf8fca5276", kill_on_drop: false }`
[INFO] [stdout] a64b446bc2f413fe95cf01d66a63d478874f51cd959a8d2f3e7077bf8fca5276
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2840b64c445fa77139a38b4b49c39f208a6c6a3e05795d4834937451046055c6
[INFO] running `Command { std: "docker" "start" "-a" "2840b64c445fa77139a38b4b49c39f208a6c6a3e05795d4834937451046055c6", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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: 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<DiskManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     temp_dir: Option<TempDir>,
[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<PageId>,
[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<LeafKV> {
[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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.87s
[INFO] running `Command { std: "docker" "inspect" "2840b64c445fa77139a38b4b49c39f208a6c6a3e05795d4834937451046055c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2840b64c445fa77139a38b4b49c39f208a6c6a3e05795d4834937451046055c6", kill_on_drop: false }`
[INFO] [stdout] 2840b64c445fa77139a38b4b49c39f208a6c6a3e05795d4834937451046055c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fb8a99f0bd1ed2330eb08c5c1fd536d484f7ad96a6299b878988bc6b1fb796bd
[INFO] running `Command { std: "docker" "start" "-a" "fb8a99f0bd1ed2330eb08c5c1fd536d484f7ad96a6299b878988bc6b1fb796bd", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::storage::codec::TablePageCodec`
[INFO] [stderr]  --> src/catalog/information.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::storage::codec::TablePageCodec;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::storage::codec::BPlusTreePageCodec`
[INFO] [stderr]  --> src/common/util.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::storage::codec::BPlusTreePageCodec;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> src/execution/physical_plan/values.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `catalog::Schema`
[INFO] [stderr]  --> src/execution/physical_plan/values.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     catalog::Schema,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]   --> src/catalog/catalog.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct CatalogSchema {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 29 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CatalogSchema` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]   --> src/catalog/catalog.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct CatalogTable {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 44 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CatalogTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `disk_manager` and `temp_dir` are never read
[INFO] [stderr]   --> src/database.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct Database {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] 21 |     disk_manager: Arc<DiskManager>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     temp_dir: Option<TempDir>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `join_type` is never read
[INFO] [stderr]   --> src/execution/physical_plan/nested_loop_join.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct PhysicalNestedLoopJoin {
[INFO] [stderr]    |            ---------------------- field in this struct
[INFO] [stderr] 18 |     pub join_type: JoinType,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PhysicalNestedLoopJoin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `table_schema` is never read
[INFO] [stderr]   --> src/execution/physical_plan/update.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct PhysicalUpdate {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 13 |     pub table: TableReference,
[INFO] [stderr] 14 |     pub table_schema: SchemaRef,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PhysicalUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `name` is never used
[INFO] [stderr]   --> src/optimizer/logical_optimizer.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub trait LogicalOptimizerRule {
[INFO] [stderr]    |           -------------------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 16 |     fn name(&self) -> &str;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `root_page_id` and `write_set` are never read
[INFO] [stderr]   --> src/storage/index.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 21 | struct Context {
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 22 |     pub root_page_id: PageId,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 23 |     pub write_set: VecDeque<PageId>,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_subtree_max_leafkv` is never used
[INFO] [stderr]    --> src/storage/index.rs:526:8
[INFO] [stderr]     |
[INFO] [stderr] 46  | impl BPlusTreeIndex {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 526 |     fn find_subtree_max_leafkv(&self, page_id: PageId) -> BustubxResult<LeafKV> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `LockMode` is never used
[INFO] [stderr]  --> src/transaction/lock_manager.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum LockMode {
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `LockMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LockRequest` is never constructed
[INFO] [stderr]   --> src/transaction/lock_manager.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct LockRequest {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LockManager` is never constructed
[INFO] [stderr]   --> src/transaction/lock_manager.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct LockManager {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `lock_table`, `unlock_table`, `lock_row`, `unlock_row`, and `unlock_all` are never used
[INFO] [stderr]   --> src/transaction/lock_manager.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl LockManager {
[INFO] [stderr]    | ---------------- methods in this implementation
[INFO] [stderr] 29 |     pub fn lock_table(
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn unlock_table(&self, _txn: Transaction, _table_ref: TableReference) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn lock_row(
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn unlock_row(
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn unlock_all(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Transaction` is never constructed
[INFO] [stderr]  --> src/transaction/transaction.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Transaction {}
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `IsolationLevel` is never used
[INFO] [stderr]  --> src/transaction/transaction_manager.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub enum IsolationLevel {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TransactionManager` is never constructed
[INFO] [stderr]  --> src/transaction/transaction_manager.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct TransactionManager {}
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `begin`, `commit`, and `abort` are never used
[INFO] [stderr]   --> src/transaction/transaction_manager.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl TransactionManager {
[INFO] [stderr]    | ----------------------- methods in this implementation
[INFO] [stderr] 12 |     pub fn begin(&self, _isolation_level: IsolationLevel) -> Transaction {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn commit(&self, _txn: Transaction) -> bool {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub fn abort(&self, _txn: Transaction) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `bustubx` (lib test) generated 20 warnings (run `cargo fix --lib -p bustubx --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bustubx-fbf9860d281dd7f9)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test buffer::replacer::tests::test_lru_k_set_evictable ... ok
[INFO] [stdout] test buffer::replacer::tests::test_lru_k_evict_all_pages_at_least_k ... ok
[INFO] [stdout] test buffer::replacer::tests::test_lru_k_cmu_bustub_test_case ... ok
[INFO] [stdout] test buffer::page::tests::page_ref ... ok
[INFO] [stdout] test common::bitmap::tests::dynamic_bitmap ... ok
[INFO] [stdout] test buffer::buffer_pool::tests::test_buffer_pool_manager_new_page ... ok
[INFO] [stdout] test buffer::buffer_pool::tests::test_buffer_pool_manager_fetch_page ... ok
[INFO] [stdout] test buffer::buffer_pool::tests::test_buffer_pool_manager_delete_page ... ok
[INFO] [stdout] test buffer::replacer::tests::test_lru_k_evict_some_page_less_than_k ... ok
[INFO] [stdout] test buffer::buffer_pool::tests::test_buffer_pool_manager_unpin_page ... ok
[INFO] [stdout] test catalog::data_type::tests::parse_data_type ... ok
[INFO] [stdout] test optimizer::rule::merge_limit::tests::merge_limit ... ok
[INFO] [stdout] test storage::codec::common::tests::common_codec ... ok
[INFO] [stdout] test storage::codec::freelist_page::tests::freelist_page_codec ... ok
[INFO] [stdout] test storage::codec::meta_page::tests::meta_page_codec ... ok
[INFO] [stdout] test storage::codec::index_page::tests::index_page_codec ... ok
[INFO] [stdout] test storage::codec::tuple::tests::tuple_codec ... ok
[INFO] [stdout] test storage::codec::table_page::tests::table_page_codec ... ok
[INFO] [stdout] test storage::disk_manager::tests::test_disk_manager_write_read_page ... ok
[INFO] [stdout] test storage::disk_manager::tests::test_disk_manager_freelist ... ok
[INFO] [stdout] test storage::page::index_page::tests::test_leaf_page_delete ... ok
[INFO] [stdout] test storage::page::index_page::tests::test_internal_page_look_up ... ok
[INFO] [stdout] test storage::page::index_page::tests::test_internal_page_delete ... ok
[INFO] [stdout] test parser::tests::test_parser ... ok
[INFO] [stdout] test storage::page::index_page::tests::test_leaf_page_insert ... ok
[INFO] [stdout] test storage::page::index_page::tests::test_leaf_page_look_up ... ok
[INFO] [stdout] test storage::page::table_page::tests::test_table_page_update_tuple_meta ... ok
[INFO] [stdout] test storage::page::table_page::tests::test_table_page_get_tuple ... ok
[INFO] [stdout] test storage::page::index_page::tests::test_internal_page_insert ... ok
[INFO] [stdout] test storage::tuple::tests::tuple_compare ... ok
[INFO] [stdout] test optimizer::rule::eliminate_limit::tests::eliminate_limit ... ok
[INFO] [stdout] test catalog::catalog::tests::test_catalog_create_index ... ok
[INFO] [stdout] test storage::index::tests::test_index_get ... ok
[INFO] [stdout] test optimizer::rule::push_down_limit::tests::push_down_limit ... ok
[INFO] [stdout] test catalog::catalog::tests::test_catalog_create_table ... ok
[INFO] [stdout] test storage::index::tests::test_index_insert ... ok
[INFO] [stdout] test storage::table_heap::tests::test_table_heap_iterator ... ok
[INFO] [stdout] test storage::table_heap::tests::test_table_heap_insert_tuple ... ok
[INFO] [stdout] test storage::index::tests::test_index_delete ... ok
[INFO] [stdout] test storage::index::tests::test_index_iterator ... ok
[INFO] [stdout] test storage::table_heap::tests::test_table_heap_update_tuple_meta ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "fb8a99f0bd1ed2330eb08c5c1fd536d484f7ad96a6299b878988bc6b1fb796bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb8a99f0bd1ed2330eb08c5c1fd536d484f7ad96a6299b878988bc6b1fb796bd", kill_on_drop: false }`
[INFO] [stdout] fb8a99f0bd1ed2330eb08c5c1fd536d484f7ad96a6299b878988bc6b1fb796bd
