[INFO] cloning repository https://github.com/wst7/caskdb-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wst7/caskdb-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwst7%2Fcaskdb-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwst7%2Fcaskdb-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c93b4964467cfd8d20ccc1174455fabbb80b742d [INFO] testing wst7/caskdb-rs against try#c066bf6804adc55193b71afdff6a56922f4a8689+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_in_2025-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwst7%2Fcaskdb-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wst7/caskdb-rs [INFO] finished tweaking git repo https://github.com/wst7/caskdb-rs [INFO] tweaked toml for git repo https://github.com/wst7/caskdb-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wst7/caskdb-rs on toolchain c066bf6804adc55193b71afdff6a56922f4a8689 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wst7/caskdb-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "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 [ERROR] error running command: no output for 300 seconds [INFO] testing wst7/caskdb-rs against try#c066bf6804adc55193b71afdff6a56922f4a8689+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_in_2025-retry-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwst7%2Fcaskdb-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wst7/caskdb-rs [INFO] finished tweaking git repo https://github.com/wst7/caskdb-rs [INFO] tweaked toml for git repo https://github.com/wst7/caskdb-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wst7/caskdb-rs on toolchain c066bf6804adc55193b71afdff6a56922f4a8689 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wst7/caskdb-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b36625ccde72b4bc8c07e693ba2e20af79665546e56f1598378dec90019bf07c [INFO] running `Command { std: "docker" "start" "-a" "b36625ccde72b4bc8c07e693ba2e20af79665546e56f1598378dec90019bf07c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b36625ccde72b4bc8c07e693ba2e20af79665546e56f1598378dec90019bf07c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b36625ccde72b4bc8c07e693ba2e20af79665546e56f1598378dec90019bf07c", kill_on_drop: false }` [INFO] [stdout] b36625ccde72b4bc8c07e693ba2e20af79665546e56f1598378dec90019bf07c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5b74724e34bcfdee9b9d820af366ba0c5217cc556d04104f4ec1d30bb1dfd137 [INFO] running `Command { std: "docker" "start" "-a" "5b74724e34bcfdee9b9d820af366ba0c5217cc556d04104f4ec1d30bb1dfd137", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.16 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling cask-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/engine.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | data_file::{self, DataFile, DATA_FILE_SUFFIX}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/engine.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | for (idx, file_id) in self.file_ids.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_record_res` [INFO] [stdout] --> src/engine.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | let log_record_res = match *file_id == active_file.get_file_id() { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_record_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | let mut offset = 0; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/data_file.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/index.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | IndexerType::Btree => Box::new(btree::Btree::new()), [INFO] [stdout] | ------------------ matches all the relevant values [INFO] [stdout] 14 | _ => panic!("unsupported index type"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_FILE_ID` is never used [INFO] [stdout] --> src/engine.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const INITIAL_FILE_ID: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Engine` is never constructed [INFO] [stdout] --> src/engine.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Engine { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Engine { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 22 | pub fn new(options: Options) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `load_index_from_data_files` is never used [INFO] [stdout] --> src/engine.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 85 | impl Engine { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 86 | /// 从数据文件中加载索引 [INFO] [stdout] 87 | fn load_index_from_data_files(&mut self) -> Result<(), CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_data_files` is never used [INFO] [stdout] --> src/engine.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn load_data_files(dir_path: PathBuf) -> Result, CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_options` is never used [INFO] [stdout] --> src/engine.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn validate_options(options: &Options) -> Result<(), CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_FILE_SUFFIX` is never used [INFO] [stdout] --> src/data_file.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const DATA_FILE_SUFFIX: &str = ".data"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataFile` is never constructed [INFO] [stdout] --> src/data_file.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DataFile { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_file_id`, and `read_log_record` are never used [INFO] [stdout] --> src/data_file.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl DataFile { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(dir_path: PathBuf, file_id: usize) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_file_id(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ata_file_name` is never used [INFO] [stdout] --> src/data_file.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn get_ata_file_name(dir_path: PathBuf, file_id: usize) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Options` is never constructed [INFO] [stdout] --> src/options.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Options { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Options` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IndexerType` is never used [INFO] [stdout] --> src/index.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum IndexerType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexerType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Indexer` is never used [INFO] [stdout] --> src/index.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait Indexer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_indexer` is never used [INFO] [stdout] --> src/index.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new_indexer(index_type: Option) -> Box { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Btree` is never constructed [INFO] [stdout] --> src/index/btree.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Btree { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/index/btree.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Btree { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 13 | pub fn new() -> impl Indexer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `DirPathIsEmpty`, `DirNotExist`, `DataFileSizeIsInvalid`, and `DataDirCorrupted` are never constructed [INFO] [stdout] --> src/error.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum CaskError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | DirPathIsEmpty, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | DirNotExist, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | DataFileSizeIsInvalid, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | DataDirCorrupted, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CaskError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IOManager` is never used [INFO] [stdout] --> src/fio.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait IOManager {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IOManagerType` is never used [INFO] [stdout] --> src/fio.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum IOManagerType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_io_manager` is never used [INFO] [stdout] --> src/fio.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new_io_manager( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileIo` is never constructed [INFO] [stdout] --> src/fio/file_io.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FileIo { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/fio/file_io.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl FileIo { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 11 | pub fn new(filename: PathBuf) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LogRecord` is never constructed [INFO] [stdout] --> src/log_record.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct LogRecord { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RecordType` is never used [INFO] [stdout] --> src/log_record.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum RecordType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.65s [INFO] running `Command { std: "docker" "inspect" "5b74724e34bcfdee9b9d820af366ba0c5217cc556d04104f4ec1d30bb1dfd137", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b74724e34bcfdee9b9d820af366ba0c5217cc556d04104f4ec1d30bb1dfd137", kill_on_drop: false }` [INFO] [stdout] 5b74724e34bcfdee9b9d820af366ba0c5217cc556d04104f4ec1d30bb1dfd137 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] e4dfe5805d6f4f805161da7fd125ec6b0e5f42339732120f35071fe9080db856 [INFO] running `Command { std: "docker" "start" "-a" "e4dfe5805d6f4f805161da7fd125ec6b0e5f42339732120f35071fe9080db856", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/engine.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | data_file::{self, DataFile, DATA_FILE_SUFFIX}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/engine.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | for (idx, file_id) in self.file_ids.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_record_res` [INFO] [stdout] --> src/engine.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | let log_record_res = match *file_id == active_file.get_file_id() { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_record_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | let mut offset = 0; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/data_file.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/index.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | IndexerType::Btree => Box::new(btree::Btree::new()), [INFO] [stdout] | ------------------ matches all the relevant values [INFO] [stdout] 14 | _ => panic!("unsupported index type"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_FILE_ID` is never used [INFO] [stdout] --> src/engine.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const INITIAL_FILE_ID: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Engine` is never constructed [INFO] [stdout] --> src/engine.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Engine { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Engine { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 22 | pub fn new(options: Options) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `load_index_from_data_files` is never used [INFO] [stdout] --> src/engine.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 85 | impl Engine { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 86 | /// 从数据文件中加载索引 [INFO] [stdout] 87 | fn load_index_from_data_files(&mut self) -> Result<(), CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_data_files` is never used [INFO] [stdout] --> src/engine.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn load_data_files(dir_path: PathBuf) -> Result, CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_options` is never used [INFO] [stdout] --> src/engine.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn validate_options(options: &Options) -> Result<(), CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_FILE_SUFFIX` is never used [INFO] [stdout] --> src/data_file.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const DATA_FILE_SUFFIX: &str = ".data"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataFile` is never constructed [INFO] [stdout] --> src/data_file.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DataFile { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_file_id`, and `read_log_record` are never used [INFO] [stdout] --> src/data_file.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl DataFile { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(dir_path: PathBuf, file_id: usize) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_file_id(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ata_file_name` is never used [INFO] [stdout] --> src/data_file.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn get_ata_file_name(dir_path: PathBuf, file_id: usize) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Options` is never constructed [INFO] [stdout] --> src/options.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Options { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Options` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IndexerType` is never used [INFO] [stdout] --> src/index.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum IndexerType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexerType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Indexer` is never used [INFO] [stdout] --> src/index.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait Indexer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_indexer` is never used [INFO] [stdout] --> src/index.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new_indexer(index_type: Option) -> Box { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Btree` is never constructed [INFO] [stdout] --> src/index/btree.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Btree { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/index/btree.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Btree { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 13 | pub fn new() -> impl Indexer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `DirPathIsEmpty`, `DirNotExist`, `DataFileSizeIsInvalid`, and `DataDirCorrupted` are never constructed [INFO] [stdout] --> src/error.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum CaskError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | DirPathIsEmpty, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | DirNotExist, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | DataFileSizeIsInvalid, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | DataDirCorrupted, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CaskError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IOManager` is never used [INFO] [stdout] --> src/fio.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait IOManager {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IOManagerType` is never used [INFO] [stdout] --> src/fio.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum IOManagerType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_io_manager` is never used [INFO] [stdout] --> src/fio.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new_io_manager( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileIo` is never constructed [INFO] [stdout] --> src/fio/file_io.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FileIo { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/fio/file_io.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl FileIo { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 11 | pub fn new(filename: PathBuf) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LogRecord` is never constructed [INFO] [stdout] --> src/log_record.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct LogRecord { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling cask-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: enum `RecordType` is never used [INFO] [stdout] --> src/log_record.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum RecordType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/engine.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | data_file::{self, DataFile, DATA_FILE_SUFFIX}, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/engine.rs:97:14 [INFO] [stdout] | [INFO] [stdout] 97 | for (idx, file_id) in self.file_ids.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_record_res` [INFO] [stdout] --> src/engine.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | let log_record_res = match *file_id == active_file.get_file_id() { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_record_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | let mut offset = 0; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/data_file.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/index.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | IndexerType::Btree => Box::new(btree::Btree::new()), [INFO] [stdout] | ------------------ matches all the relevant values [INFO] [stdout] 14 | _ => panic!("unsupported index type"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_FILE_ID` is never used [INFO] [stdout] --> src/engine.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const INITIAL_FILE_ID: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Engine` is never constructed [INFO] [stdout] --> src/engine.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Engine { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Engine { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 22 | pub fn new(options: Options) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `load_index_from_data_files` is never used [INFO] [stdout] --> src/engine.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 85 | impl Engine { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 86 | /// 从数据文件中加载索引 [INFO] [stdout] 87 | fn load_index_from_data_files(&mut self) -> Result<(), CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_data_files` is never used [INFO] [stdout] --> src/engine.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn load_data_files(dir_path: PathBuf) -> Result, CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_options` is never used [INFO] [stdout] --> src/engine.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn validate_options(options: &Options) -> Result<(), CaskError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_FILE_SUFFIX` is never used [INFO] [stdout] --> src/data_file.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const DATA_FILE_SUFFIX: &str = ".data"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataFile` is never constructed [INFO] [stdout] --> src/data_file.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DataFile { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_file_id`, and `read_log_record` are never used [INFO] [stdout] --> src/data_file.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl DataFile { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new(dir_path: PathBuf, file_id: usize) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_file_id(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_ata_file_name` is never used [INFO] [stdout] --> src/data_file.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn get_ata_file_name(dir_path: PathBuf, file_id: usize) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Options` is never constructed [INFO] [stdout] --> src/options.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Options { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Options` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IndexerType` is never used [INFO] [stdout] --> src/index.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum IndexerType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexerType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Indexer` is never used [INFO] [stdout] --> src/index.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait Indexer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_indexer` is never used [INFO] [stdout] --> src/index.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn new_indexer(index_type: Option) -> Box { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Btree` is never constructed [INFO] [stdout] --> src/index/btree.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Btree { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/index/btree.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Btree { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 13 | pub fn new() -> impl Indexer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `DirPathIsEmpty`, `DirNotExist`, `DataFileSizeIsInvalid`, and `DataDirCorrupted` are never constructed [INFO] [stdout] --> src/error.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum CaskError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 12 | DirPathIsEmpty, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | DirNotExist, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | DataFileSizeIsInvalid, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | DataDirCorrupted, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CaskError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IOManager` is never used [INFO] [stdout] --> src/fio.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait IOManager {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IOManagerType` is never used [INFO] [stdout] --> src/fio.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum IOManagerType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_io_manager` is never used [INFO] [stdout] --> src/fio.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new_io_manager( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileIo` is never constructed [INFO] [stdout] --> src/fio/file_io.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FileIo { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/fio/file_io.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl FileIo { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 11 | pub fn new(filename: PathBuf) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LogRecord` is never constructed [INFO] [stdout] --> src/log_record.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct LogRecord { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RecordType` is never used [INFO] [stdout] --> src/log_record.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum RecordType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] running `Command { std: "docker" "inspect" "e4dfe5805d6f4f805161da7fd125ec6b0e5f42339732120f35071fe9080db856", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e4dfe5805d6f4f805161da7fd125ec6b0e5f42339732120f35071fe9080db856", kill_on_drop: false }` [INFO] [stdout] e4dfe5805d6f4f805161da7fd125ec6b0e5f42339732120f35071fe9080db856 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 2b726a6e5c2f10bd1949f4b9472e57ec6b6435d86acb925b92bc1655a954b835 [INFO] running `Command { std: "docker" "start" "-a" "2b726a6e5c2f10bd1949f4b9472e57ec6b6435d86acb925b92bc1655a954b835", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/engine.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | data_file::{self, DataFile, DATA_FILE_SUFFIX}, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `idx` [INFO] [stderr] --> src/engine.rs:97:14 [INFO] [stderr] | [INFO] [stderr] 97 | for (idx, file_id) in self.file_ids.iter().enumerate() { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `log_record_res` [INFO] [stderr] --> src/engine.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | let log_record_res = match *file_id == active_file.get_file_id() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_record_res` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/engine.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | let mut offset = 0; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/data_file.rs:28:35 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/index.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 13 | IndexerType::Btree => Box::new(btree::Btree::new()), [INFO] [stderr] | ------------------ matches all the relevant values [INFO] [stderr] 14 | _ => panic!("unsupported index type"), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `INITIAL_FILE_ID` is never used [INFO] [stderr] --> src/engine.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | const INITIAL_FILE_ID: usize = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `Engine` is never constructed [INFO] [stderr] --> src/engine.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct Engine { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/engine.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl Engine { [INFO] [stderr] | ----------- associated function in this implementation [INFO] [stderr] 22 | pub fn new(options: Options) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: method `load_index_from_data_files` is never used [INFO] [stderr] --> src/engine.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 85 | impl Engine { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] 86 | /// 从数据文件中加载索引 [INFO] [stderr] 87 | fn load_index_from_data_files(&mut self) -> Result<(), CaskError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `load_data_files` is never used [INFO] [stderr] --> src/engine.rs:117:4 [INFO] [stderr] | [INFO] [stderr] 117 | fn load_data_files(dir_path: PathBuf) -> Result, CaskError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `validate_options` is never used [INFO] [stderr] --> src/engine.rs:151:4 [INFO] [stderr] | [INFO] [stderr] 151 | fn validate_options(options: &Options) -> Result<(), CaskError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DATA_FILE_SUFFIX` is never used [INFO] [stderr] --> src/data_file.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | pub const DATA_FILE_SUFFIX: &str = ".data"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DataFile` is never constructed [INFO] [stderr] --> src/data_file.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct DataFile { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `get_file_id`, and `read_log_record` are never used [INFO] [stderr] --> src/data_file.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 13 | impl DataFile { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] 14 | pub fn new(dir_path: PathBuf, file_id: usize) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | pub fn get_file_id(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | pub fn read_log_record(&self, offset: usize) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_ata_file_name` is never used [INFO] [stderr] --> src/data_file.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | fn get_ata_file_name(dir_path: PathBuf, file_id: usize) -> PathBuf { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Options` is never constructed [INFO] [stderr] --> src/options.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Options { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Options` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `IndexerType` is never used [INFO] [stderr] --> src/index.rs:4:10 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum IndexerType { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `IndexerType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: trait `Indexer` is never used [INFO] [stderr] --> src/index.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait Indexer { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `new_indexer` is never used [INFO] [stderr] --> src/index.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new_indexer(index_type: Option) -> Box { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Btree` is never constructed [INFO] [stderr] --> src/index/btree.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Btree { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/index/btree.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 12 | impl Btree { [INFO] [stderr] | ---------- associated function in this implementation [INFO] [stderr] 13 | pub fn new() -> impl Indexer { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `DirPathIsEmpty`, `DirNotExist`, `DataFileSizeIsInvalid`, and `DataDirCorrupted` are never constructed [INFO] [stderr] --> src/error.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum CaskError { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 12 | DirPathIsEmpty, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | DirNotExist, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 18 | DataFileSizeIsInvalid, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | DataDirCorrupted, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CaskError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: trait `IOManager` is never used [INFO] [stderr] --> src/fio.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait IOManager {} [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `IOManagerType` is never used [INFO] [stderr] --> src/fio.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | pub enum IOManagerType { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `new_io_manager` is never used [INFO] [stderr] --> src/fio.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new_io_manager( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FileIo` is never constructed [INFO] [stderr] --> src/fio/file_io.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct FileIo { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/fio/file_io.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 10 | impl FileIo { [INFO] [stderr] | ----------- associated function in this implementation [INFO] [stderr] 11 | pub fn new(filename: PathBuf) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `LogRecord` is never constructed [INFO] [stderr] --> src/log_record.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct LogRecord { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `RecordType` is never used [INFO] [stderr] --> src/log_record.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | pub enum RecordType { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `cask-rs` (lib) generated 30 warnings (run `cargo fix --lib -p cask-rs` to apply 2 suggestions) [INFO] [stderr] warning: `cask-rs` (lib test) generated 30 warnings (30 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/cask_rs-f4b4bb369c90fff7) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/cask_rs-7b05cafb8ca0bb65) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2b726a6e5c2f10bd1949f4b9472e57ec6b6435d86acb925b92bc1655a954b835", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b726a6e5c2f10bd1949f4b9472e57ec6b6435d86acb925b92bc1655a954b835", kill_on_drop: false }` [INFO] [stdout] 2b726a6e5c2f10bd1949f4b9472e57ec6b6435d86acb925b92bc1655a954b835