[INFO] cloning repository https://github.com/kemkemG0/simple_db_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kemkemG0/simple_db_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FkemkemG0%2Fsimple_db_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FkemkemG0%2Fsimple_db_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 955ad750b495ed23672e975ba9e8713e9507679a [INFO] building kemkemG0/simple_db_rust against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FkemkemG0%2Fsimple_db_rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kemkemG0/simple_db_rust on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/kemkemG0/simple_db_rust [INFO] finished tweaking git repo https://github.com/kemkemG0/simple_db_rust [INFO] tweaked toml for git repo https://github.com/kemkemG0/simple_db_rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/kemkemG0/simple_db_rust 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1f6863a9a29a9b81d861938070c2203a3e739aaedb9c70a973eafdc623e95d64 [INFO] running `Command { std: "docker" "start" "-a" "1f6863a9a29a9b81d861938070c2203a3e739aaedb9c70a973eafdc623e95d64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1f6863a9a29a9b81d861938070c2203a3e739aaedb9c70a973eafdc623e95d64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1f6863a9a29a9b81d861938070c2203a3e739aaedb9c70a973eafdc623e95d64", kill_on_drop: false }` [INFO] [stdout] 1f6863a9a29a9b81d861938070c2203a3e739aaedb9c70a973eafdc623e95d64 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e3df256c9fb347a67824a20be782405e521586ab24b39644343f17ff7e1f1bb8 [INFO] running `Command { std: "docker" "start" "-a" "e3df256c9fb347a67824a20be782405e521586ab24b39644343f17ff7e1f1bb8", kill_on_drop: false }` [INFO] [stderr] Compiling simple_db_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/file/block_id.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | collections::hash_map::DefaultHasher, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/checkpoint_record.rs:1:43 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::tx::transaction::{Transaction, TransactionError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/setint_record.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::log` [INFO] [stdout] --> src/tx/recovery/setstring_record.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::log; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/setstring_record.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/start_record.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/checkpoint_record.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/commit_record.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/commit_record.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/setint_record.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/setint_record.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/start_record.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/start_record.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn pin(&mut self, block_id: &BlockId) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn unpin(&mut self, block_id: &BlockId) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:52:27 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_int(&self, block_id: &BlockId, offset: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:52:47 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_int(&self, block_id: &BlockId, offset: usize) -> u32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_string(&self, block_id: &BlockId, offset: usize) -> &str { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:55:50 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_string(&self, block_id: &BlockId, offset: usize) -> &str { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:58:51 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/tx/transaction.rs:58:66 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ok_to_log` [INFO] [stdout] --> src/tx/transaction.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ok_to_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:60:54 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/tx/transaction.rs:60:69 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ok_to_log` [INFO] [stdout] --> src/tx/transaction.rs:60:80 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ok_to_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> src/tx/transaction.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn size(&self, file_name: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> src/tx/transaction.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn append(&mut self, file_name: &str) -> BlockId { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimpleDB` is never constructed [INFO] [stdout] --> src/app/simple_db.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct SimpleDB { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `file_manager`, `log_manager`, and `buffer_manager` are never used [INFO] [stdout] --> src/app/simple_db.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SimpleDB { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(db_dir: &str, block_size: usize, buffer_size: u16) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn file_manager(&self) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn log_manager(&self) -> Arc> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn buffer_manager(&self) -> Arc> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/buffer/buffer.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Buffer { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 11 | file_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 12 | log_manager: Arc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | contents: Page, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | block_id: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | pins: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | tx_num: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | lsn: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer/buffer.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Buffer { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 21 | pub fn new(file_manager: Arc, log_manager: Arc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn contents(&mut self) -> &mut Page { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn block(&self) -> Option<&BlockId> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn is_pinned(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn set_modified(&mut self, txnum: u32, lsn: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn modifing_tx_num(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn pin(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn unpin(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn assign_to_block(&mut self, block_id: BlockId) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn flush(&mut self) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/buffer/buffer_manager.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | Time(SystemTimeError), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BufferAbortError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | Time(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/buffer/buffer_manager.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | IO(Error), [INFO] [stdout] | -- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BufferAbortError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 | IO(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `General` is never constructed [INFO] [stdout] --> src/buffer/buffer_manager.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum BufferAbortError { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | General, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferAbortError` 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 `buffer_pool`, `num_available`, and `max_time` are never read [INFO] [stdout] --> src/buffer/buffer_manager.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct BufferManager { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 34 | buffer_pool: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | num_available: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 36 | max_time: u128, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer/buffer_manager.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 39 | impl BufferManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 40 | const MAX_TIME: u128 = 10 * 1000; // 10 seconds [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 41 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn available(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn flush_all(&mut self, txnum: u32) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn unpin(&mut self, idx: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn pin(&mut self, blk: &BlockId) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn try_to_pin(&mut self, blk: &BlockId) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn find_existing_buffer(&mut self, blk: &BlockId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn choose_unpinned_buffer(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn waiting_too_long(&self, start_time: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn get_buffer(&mut self, idx: usize) -> &mut Buffer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn set_max_time(&mut self, max_time_m_sec: u128) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_mill_sec` is never used [INFO] [stdout] --> src/buffer/buffer_manager.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn now_mill_sec() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_null` is never used [INFO] [stdout] --> src/file/block_id.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BlockId { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_null(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_new` is never read [INFO] [stdout] --> src/file/file_manager.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FileManager { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | is_new: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `write`, `append`, `is_new`, and `length` are never used [INFO] [stdout] --> src/file/file_manager.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl FileManager { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 19 | pub fn new(db_directory: path::PathBuf, block_size: usize) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn write(&self, blk: &BlockId, page: &mut Page) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn append(&self, filename: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn is_new(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn length(&self, file_name: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/file/page.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Page { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 8 | // A constructor for creating data buffers [INFO] [stdout] 9 | pub fn new(block_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn from_bytes(b: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_int(&mut self, offset: usize, n: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_string(&self, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn set_bytes(&mut self, offset: usize, b: &[u8]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn set_string(&mut self, offset: usize, s: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn max_length(strlen: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn contents(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/log/log_iterator.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl LogIterator { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 17 | pub fn new(file_manager: Arc, current_block: &BlockId) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file_manager`, `log_file`, `log_page`, `current_block`, `latest_lsn`, and `latest_saved_lsn` are never read [INFO] [stdout] --> src/log/log_manager.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct LogManager { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 8 | file_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 9 | log_file: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | log_page: Page, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | current_block: BlockId, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | // lsn: log sequence number [INFO] [stdout] 13 | latest_lsn: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 14 | latest_saved_lsn: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `flush`, `iterator`, `append`, `get_last_saved_lsn`, and `append_new_block` are never used [INFO] [stdout] --> src/log/log_manager.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl LogManager { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(file_manager: Arc, log_file: &str) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn flush(&mut self, lsn: u32) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn iterator(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn append(&mut self, log_record: &Vec) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn get_last_saved_lsn(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn append_new_block(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConcurrencyManager` is never constructed [INFO] [stdout] --> src/tx/concurrency/concurrency_manager.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ConcurrencyManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/concurrency/concurrency_manager.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl ConcurrencyManager { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 11 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | SystemTimeError(SystemTimeError), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 | SystemTimeError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `General` is never constructed [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum LockAbortError { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 10 | SystemTimeError(SystemTimeError), [INFO] [stdout] 11 | General, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LockTable` is never constructed [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct LockTable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 25 | impl LockTable { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 26 | const MAX_TIME: u128 = 10 * 1000; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | [INFO] [stdout] 28 | pub fn new() -> LockTable { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn s_lock(&mut self, blk: &BlockId) -> Result<(), LockAbortError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn x_lock(&mut self, blk: &BlockId) -> Result<(), LockAbortError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn unlock(&mut self, blk: &BlockId) -> Result<(), SystemTimeError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn has_x_lock(&self, blk: &BlockId) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn has_other_s_lock(&self, blk: &BlockId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn waiting_too_long(&self, time_stamp: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_lock_value(&self, blk: &BlockId) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_mill_sec` is never used [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn now_mill_sec() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/checkpoint_record.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CheckPointRecord { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/commit_record.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CommitRecord { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 7 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `op`, `tx_number`, and `undo` are never used [INFO] [stdout] --> src/tx/recovery/log_record.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait LogRecord { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] 37 | fn op(&self) -> Op; [INFO] [stdout] | ^^ [INFO] [stdout] 38 | fn tx_number(&self) -> Option; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 39 | fn undo(&self, tx: &mut Transaction); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_log_record` is never used [INFO] [stdout] --> src/tx/recovery/log_record.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn create_log_record(rec: Vec) -> Result, TransactionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecoveryManager` is never constructed [INFO] [stdout] --> src/tx/recovery/recovery_manager.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct RecoveryManager {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl RollbackRecord { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/setint_record.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl SetIntRecord { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `write_to_log` are never used [INFO] [stdout] --> src/tx/recovery/setstring_record.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl SetStringRecord { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] 23 | pub fn new(page: Page) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn write_to_log( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/start_record.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StartRecord { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file_manager`, `log_manager`, and `buffer_manager` are never read [INFO] [stdout] --> src/tx/transaction.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Transaction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 13 | file_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | log_manager: Arc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | buffer_manager: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tx/transaction.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | FromUtf8Error(FromUtf8Error), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 19 | FromUtf8Error(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `General` is never constructed [INFO] [stdout] --> src/tx/transaction.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub enum TransactionError { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] 19 | FromUtf8Error(FromUtf8Error), [INFO] [stdout] 20 | General, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tx/transaction.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Transaction { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 33 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn commit(&mut self) {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 46 | pub fn rollback(&mut self) {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | pub fn recover(&mut self) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_int(&self, block_id: &BlockId, offset: usize) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_string(&self, block_id: &BlockId, offset: usize) -> &str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn available_buffers(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn size(&self, file_name: &str) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn append(&mut self, file_name: &str) -> BlockId { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.38s [INFO] running `Command { std: "docker" "inspect" "e3df256c9fb347a67824a20be782405e521586ab24b39644343f17ff7e1f1bb8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3df256c9fb347a67824a20be782405e521586ab24b39644343f17ff7e1f1bb8", kill_on_drop: false }` [INFO] [stdout] e3df256c9fb347a67824a20be782405e521586ab24b39644343f17ff7e1f1bb8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 18ffc68f1c819e963c6c1dd802acc015f2ed35ee764bc43ece8d5d02b063d492 [INFO] running `Command { std: "docker" "start" "-a" "18ffc68f1c819e963c6c1dd802acc015f2ed35ee764bc43ece8d5d02b063d492", kill_on_drop: false }` [INFO] [stderr] Compiling simple_db_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `collections::hash_map::DefaultHasher` [INFO] [stdout] --> src/file/block_id.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | collections::hash_map::DefaultHasher, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/checkpoint_record.rs:1:43 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::tx::transaction::{Transaction, TransactionError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/setint_record.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::log` [INFO] [stdout] --> src/tx/recovery/setstring_record.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::log; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/setstring_record.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TransactionError` [INFO] [stdout] --> src/tx/recovery/start_record.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | tx::transaction::{Transaction, TransactionError}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `iter::zip`, and `mem::size_of` [INFO] [stdout] --> src/tx/test.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | iter::zip, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | mem::size_of, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 7 | sync::{Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/checkpoint_record.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/commit_record.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/commit_record.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/setint_record.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/setint_record.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/tx/recovery/start_record.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx` [INFO] [stdout] --> src/tx/recovery/start_record.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | fn undo(&self, tx: &mut Transaction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn pin(&mut self, block_id: &BlockId) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn unpin(&mut self, block_id: &BlockId) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:52:27 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_int(&self, block_id: &BlockId, offset: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:52:47 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_int(&self, block_id: &BlockId, offset: usize) -> u32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_string(&self, block_id: &BlockId, offset: usize) -> &str { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:55:50 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_string(&self, block_id: &BlockId, offset: usize) -> &str { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:58:51 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/tx/transaction.rs:58:66 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ok_to_log` [INFO] [stdout] --> src/tx/transaction.rs:58:76 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn set_int(&mut self, block_id: &BlockId, offset: usize, val: u32, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ok_to_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/tx/transaction.rs:60:34 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/tx/transaction.rs:60:54 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/tx/transaction.rs:60:69 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ok_to_log` [INFO] [stdout] --> src/tx/transaction.rs:60:80 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn set_string(&mut self, block_id: &BlockId, offset: usize, val: &str, ok_to_log: bool) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ok_to_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> src/tx/transaction.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn size(&self, file_name: &str) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> src/tx/transaction.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn append(&mut self, file_name: &str) -> BlockId { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/buffer/buffer_manager.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | Time(SystemTimeError), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BufferAbortError` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 | Time(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/buffer/buffer_manager.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | IO(Error), [INFO] [stdout] | -- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BufferAbortError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 | IO(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flush_all` is never used [INFO] [stdout] --> src/buffer/buffer_manager.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl BufferManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn flush_all(&mut self, txnum: u32) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_null` is never used [INFO] [stdout] --> src/file/block_id.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BlockId { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn is_null(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_new` is never read [INFO] [stdout] --> src/file/file_manager.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct FileManager { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | is_new: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_new` is never used [INFO] [stdout] --> src/file/file_manager.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl FileManager { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn is_new(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_last_saved_lsn` is never used [INFO] [stdout] --> src/log/log_manager.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl LogManager { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn get_last_saved_lsn(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConcurrencyManager` is never constructed [INFO] [stdout] --> src/tx/concurrency/concurrency_manager.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ConcurrencyManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/concurrency/concurrency_manager.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl ConcurrencyManager { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 11 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | SystemTimeError(SystemTimeError), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 | SystemTimeError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `General` is never constructed [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum LockAbortError { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 10 | SystemTimeError(SystemTimeError), [INFO] [stdout] 11 | General, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LockTable` is never constructed [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct LockTable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 25 | impl LockTable { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 26 | const MAX_TIME: u128 = 10 * 1000; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 27 | [INFO] [stdout] 28 | pub fn new() -> LockTable { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn s_lock(&mut self, blk: &BlockId) -> Result<(), LockAbortError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn x_lock(&mut self, blk: &BlockId) -> Result<(), LockAbortError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn unlock(&mut self, blk: &BlockId) -> Result<(), SystemTimeError> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn has_x_lock(&self, blk: &BlockId) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn has_other_s_lock(&self, blk: &BlockId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn waiting_too_long(&self, time_stamp: u128) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_lock_value(&self, blk: &BlockId) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_mill_sec` is never used [INFO] [stdout] --> src/tx/concurrency/lock_table.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn now_mill_sec() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/checkpoint_record.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CheckPointRecord { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/commit_record.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl CommitRecord { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 7 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `op`, `tx_number`, and `undo` are never used [INFO] [stdout] --> src/tx/recovery/log_record.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait LogRecord { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] 37 | fn op(&self) -> Op; [INFO] [stdout] | ^^ [INFO] [stdout] 38 | fn tx_number(&self) -> Option; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 39 | fn undo(&self, tx: &mut Transaction); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_log_record` is never used [INFO] [stdout] --> src/tx/recovery/log_record.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn create_log_record(rec: Vec) -> Result, TransactionError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecoveryManager` is never constructed [INFO] [stdout] --> src/tx/recovery/recovery_manager.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct RecoveryManager {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/rollback_record.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl RollbackRecord { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/setint_record.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl SetIntRecord { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `write_to_log` are never used [INFO] [stdout] --> src/tx/recovery/setstring_record.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl SetStringRecord { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] 23 | pub fn new(page: Page) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn write_to_log( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tx/recovery/start_record.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StartRecord { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 10 | pub fn new(page: Page) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file_manager`, `log_manager`, and `buffer_manager` are never read [INFO] [stdout] --> src/tx/transaction.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Transaction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 13 | file_manager: Arc, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | log_manager: Arc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | buffer_manager: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tx/transaction.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | FromUtf8Error(FromUtf8Error), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 19 | FromUtf8Error(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `General` is never constructed [INFO] [stdout] --> src/tx/transaction.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub enum TransactionError { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] 19 | FromUtf8Error(FromUtf8Error), [INFO] [stdout] 20 | General, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `recover`, `available_buffers`, `size`, `append`, and `block_size` are never used [INFO] [stdout] --> src/tx/transaction.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Transaction { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn recover(&mut self) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn available_buffers(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn size(&self, file_name: &str) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn append(&mut self, file_name: &str) -> BlockId { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.85s [INFO] running `Command { std: "docker" "inspect" "18ffc68f1c819e963c6c1dd802acc015f2ed35ee764bc43ece8d5d02b063d492", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18ffc68f1c819e963c6c1dd802acc015f2ed35ee764bc43ece8d5d02b063d492", kill_on_drop: false }` [INFO] [stdout] 18ffc68f1c819e963c6c1dd802acc015f2ed35ee764bc43ece8d5d02b063d492