[INFO] cloning repository https://github.com/yzj327850/crosscrypt [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yzj327850/crosscrypt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyzj327850%2Fcrosscrypt", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyzj327850%2Fcrosscrypt'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 27018dde936279a595436afedee47ed391113819 [INFO] checking yzj327850/crosscrypt against master#6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd for pr-153721 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyzj327850%2Fcrosscrypt" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/yzj327850/crosscrypt [INFO] finished tweaking git repo https://github.com/yzj327850/crosscrypt [INFO] tweaked toml for git repo https://github.com/yzj327850/crosscrypt written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yzj327850/crosscrypt on toolchain 6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/yzj327850/crosscrypt 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" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded shell-words v1.1.1 [INFO] [stderr] Downloaded rtoolbox v0.0.5 [INFO] [stderr] Downloaded chacha20poly1305 v0.10.1 [INFO] [stderr] Downloaded dialoguer v0.11.0 [INFO] [stderr] Downloaded rpassword v7.5.4 [INFO] [stderr] Downloaded chacha20 v0.9.1 [INFO] [stderr] Downloaded poly1305 v0.8.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6 [INFO] running `Command { std: "docker" "start" "0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6" "/opt/rustwide/cargo-home/bin/cargo" "+6eda7419e71fdbc1185ed5be7e6bff1a474ab5cd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Checking typenum v1.20.1 [INFO] [stderr] Compiling zerocopy v0.8.50 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Checking anstyle-parse v1.0.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking anstyle v1.0.14 [INFO] [stderr] Checking either v1.16.0 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking colorchoice v1.0.5 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking anstream v1.0.0 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Checking itoa v1.0.18 [INFO] [stderr] Checking bitflags v2.13.0 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Checking clap_lex v1.1.0 [INFO] [stderr] Checking memchr v2.8.1 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking clap_builder v4.6.0 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking pin-project-lite v0.2.17 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Checking fastrand v2.4.1 [INFO] [stderr] Checking base64ct v1.8.3 [INFO] [stderr] Checking log v0.4.32 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking rayon v1.12.0 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking mio v1.2.1 [INFO] [stderr] Checking socket2 v0.6.4 [INFO] [stderr] Checking rtoolbox v0.0.5 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Checking shell-words v1.1.1 [INFO] [stderr] Compiling crosscrypt v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking regex-syntax v0.8.10 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking rpassword v7.5.4 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking uuid v1.23.2 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking is-terminal v0.4.17 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling zerocopy-derive v0.8.50 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking tokio v1.52.3 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking dialoguer v0.11.0 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking clap v4.6.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking rand v0.8.6 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/core/crypto.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{debug, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/core/format.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CryptoAlgorithm` and `KdfAlgorithm` [INFO] [stdout] --> src/core/format.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{CryptoAlgorithm, CrossCryptError, EncryptionConfig, KdfAlgorithm, VolumeStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/fs/block.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::{debug, trace}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/fs/encrypt_fs.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{Duration, SystemTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/fs/ntfs.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/fs/ntfs.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing::{debug, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/core/format.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | device: &Path, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 363 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `master_key` [INFO] [stdout] --> src/core/format.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | master_key: &[u8], [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/fs/ntfs.rs:508:28 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/fs/ntfs.rs:508:41 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fs/ntfs.rs:512:29 [INFO] [stdout] | [INFO] [stdout] 512 | async fn getattr(&self, ino: u64) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/core/crypto.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{debug, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/core/format.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CryptoAlgorithm` and `KdfAlgorithm` [INFO] [stdout] --> src/core/format.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{CryptoAlgorithm, CrossCryptError, EncryptionConfig, KdfAlgorithm, VolumeStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VolumeSuperblock` [INFO] [stdout] --> src/core/mod.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | pub use format::{VolumeHeader, VolumeSuperblock}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Argon2idParams` [INFO] [stdout] --> src/core/mod.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub use kdf::{Argon2idParams, KdfEngine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/fs/block.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::{debug, trace}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/fs/encrypt_fs.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{Duration, SystemTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/fs/ntfs.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/fs/ntfs.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing::{debug, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `block::BlockManager` [INFO] [stdout] --> src/fs/mod.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use block::BlockManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cache::BlockCache` [INFO] [stdout] --> src/fs/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use cache::BlockCache; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `encrypt_fs::EncryptFileSystem` [INFO] [stdout] --> src/fs/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use encrypt_fs::EncryptFileSystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ntfs::NtfsFilesystem` [INFO] [stdout] --> src/fs/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use ntfs::NtfsFilesystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/core/crypto.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{debug, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/core/format.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/core/crypto.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use tracing::{debug, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/core/format.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CryptoAlgorithm` and `KdfAlgorithm` [INFO] [stdout] --> src/core/format.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{CryptoAlgorithm, CrossCryptError, EncryptionConfig, KdfAlgorithm, VolumeStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/fs/block.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::{debug, trace}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/fs/encrypt_fs.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{Duration, SystemTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/fs/ntfs.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/fs/ntfs.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing::{debug, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CryptoAlgorithm` and `KdfAlgorithm` [INFO] [stdout] --> src/core/format.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{CryptoAlgorithm, CrossCryptError, EncryptionConfig, KdfAlgorithm, VolumeStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VolumeSuperblock` [INFO] [stdout] --> src/core/mod.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | pub use format::{VolumeHeader, VolumeSuperblock}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Argon2idParams` [INFO] [stdout] --> src/core/mod.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub use kdf::{Argon2idParams, KdfEngine}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/fs/block.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use tracing::{debug, trace}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/fs/encrypt_fs.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{Duration, SystemTime}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::OsString` [INFO] [stdout] --> src/fs/ntfs.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ffi::OsString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/fs/ntfs.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing::{debug, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `block::BlockManager` [INFO] [stdout] --> src/fs/mod.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use block::BlockManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cache::BlockCache` [INFO] [stdout] --> src/fs/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use cache::BlockCache; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `encrypt_fs::EncryptFileSystem` [INFO] [stdout] --> src/fs/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use encrypt_fs::EncryptFileSystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ntfs::NtfsFilesystem` [INFO] [stdout] --> src/fs/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use ntfs::NtfsFilesystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/core/format.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | device: &Path, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 363 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `master_key` [INFO] [stdout] --> src/core/format.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | master_key: &[u8], [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/fs/ntfs.rs:508:28 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/fs/ntfs.rs:508:41 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fs/ntfs.rs:512:29 [INFO] [stdout] | [INFO] [stdout] 512 | async fn getattr(&self, ino: u64) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EncryptionInProgress` is never constructed [INFO] [stdout] --> src/core/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum VolumeStatus { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | EncryptionInProgress, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VolumeStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EncryptionInProgress` and `DeviceNotFound` are never constructed [INFO] [stdout] --> src/core/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum CrossCryptError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 58 | EncryptionInProgress, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | DeviceNotFound(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CrossCryptError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TWEAK_SIZE` is never used [INFO] [stdout] --> src/core/crypto.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const TWEAK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `decrypt_sector`, `decrypt_sectors`, and `xts_decrypt` are never used [INFO] [stdout] --> src/core/crypto.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl CryptoEngine { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn decrypt_sector(&self, sector_index: u64, data: &mut [u8]) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn decrypt_sectors( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn xts_decrypt( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SECTOR_SIZE` is never used [INFO] [stdout] --> src/core/format.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const SECTOR_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PASSWORD_ATTEMPTS` is never used [INFO] [stdout] --> src/core/format.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const MAX_PASSWORD_ATTEMPTS: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_ATTEMPTS_BEFORE_WIPE` is never used [INFO] [stdout] --> src/core/format.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub const MAX_ATTEMPTS_BEFORE_WIPE: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCK_DURATION_SECS` is never used [INFO] [stdout] --> src/core/format.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const LOCK_DURATION_SECS: u64 = 300; // 5 minutes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `increment_attempt` is never used [INFO] [stdout] --> src/core/format.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl VolumeHeader { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn increment_attempt(&mut self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_SALT_SIZE` is never used [INFO] [stdout] --> src/core/kdf.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const DEFAULT_SALT_SIZE: usize = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `generate_salt` is never used [INFO] [stdout] --> src/core/kdf.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl KdfEngine { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn generate_salt() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Argon2idParams` is never constructed [INFO] [stdout] --> src/core/kdf.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Argon2idParams { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `conservative` and `fast` are never used [INFO] [stdout] --> src/core/kdf.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Argon2idParams { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] 69 | /// Conservative parameters for maximum security [INFO] [stdout] 70 | pub fn conservative() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn fast() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `XtsCipher` is never constructed [INFO] [stdout] --> src/core/xts.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct XtsCipher { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `encrypt_sector`, `decrypt_sector`, and `generate_tweak` are never used [INFO] [stdout] --> src/core/xts.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl XtsCipher { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 18 | /// Create new XTS cipher from 512-bit key [INFO] [stdout] 19 | pub fn new(key: &[u8; 64]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn encrypt_sector(&self, sector_index: u64, data: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn decrypt_sector(&self, sector_index: u64, data: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn generate_tweak(&self, sector_index: u64) -> [u8; 16] { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply_tweak` is never used [INFO] [stdout] --> src/core/xts.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn multiply_tweak(tweak: &mut [u8; 16]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockManager` is never constructed [INFO] [stdout] --> src/fs/block.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct BlockManager { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `read_block`, `write_block`, `read_blocks`, `write_blocks`, and `total_blocks` are never used [INFO] [stdout] --> src/fs/block.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BlockManager { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub async fn read_block(&self, block_num: u64) -> Result, CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn write_block( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub async fn read_blocks( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn write_blocks( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub async fn total_blocks(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheEntry` is never constructed [INFO] [stdout] --> src/fs/cache.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct CacheEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockCache` is never constructed [INFO] [stdout] --> src/fs/cache.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct BlockCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/fs/cache.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl BlockCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new(manager: Arc, max_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn read(&self, block_num: u64) -> Result, CrossCryptError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn write(&self, block_num: u64, data: Vec) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub async fn flush(&self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn flush_block(&self, block_num: u64) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub async fn clear(&self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | async fn insert(&self, block_num: u64, data: Vec, dirty: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | async fn evict_lru(&self, cache: &mut HashMap) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub async fn clean_expired(&self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileAttr` is never constructed [INFO] [stdout] --> src/fs/encrypt_fs.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct FileAttr { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FileType` is never used [INFO] [stdout] --> src/fs/encrypt_fs.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum FileType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `EncryptFileSystem` is never used [INFO] [stdout] --> src/fs/encrypt_fs.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait EncryptFileSystem: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Statfs` is never constructed [INFO] [stdout] --> src/fs/encrypt_fs.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub struct Statfs { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NtfsEncryptFs` is never constructed [INFO] [stdout] --> src/fs/encrypt_fs.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct NtfsEncryptFs { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/fs/encrypt_fs.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 179 | impl NtfsEncryptFs { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 180 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NtfsBootSector` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct NtfsBootSector { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MftEntry` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct MftEntry { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AttributeType` is never used [INFO] [stdout] --> src/fs/ntfs.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum AttributeType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MftAttribute` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct MftAttribute { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AttributeData` is never used [INFO] [stdout] --> src/fs/ntfs.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum AttributeData { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataRun` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct DataRun { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileNameAttr` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct FileNameAttr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StandardInfo` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct StandardInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NtfsFilesystem` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct NtfsFilesystem { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/fs/ntfs.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 139 | impl NtfsFilesystem { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 140 | pub fn new(block_manager: BlockManager) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub async fn parse_boot_sector(&mut self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub async fn read_mft_entry(&mut self, record_number: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn parse_mft_entry(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | fn parse_attribute(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 334 | fn parse_non_resident_data(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 399 | fn parse_variable_int(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 407 | fn parse_signed_variable_int(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn parse_file_name(data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn ntfs_time_to_systemtime(ntfs_time: u64) -> SystemTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LinuxFuseFilesystem` is never constructed [INFO] [stdout] --> src/platform/linux.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct LinuxFuseFilesystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/platform/linux.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl LinuxFuseFilesystem { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_sectors` [INFO] [stdout] --> src/core/crypto.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | let num_sectors = data.len() / self.sector_size; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_sectors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/core/format.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | device: &Path, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 363 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `master_key` [INFO] [stdout] --> src/core/format.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | master_key: &[u8], [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/core/format.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | device: &Path, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:277:5 [INFO] [stdout] | [INFO] [stdout] 277 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/core/format.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 363 | header: &VolumeHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `master_key` [INFO] [stdout] --> src/core/format.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | master_key: &[u8], [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_master_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/fs/ntfs.rs:508:28 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/fs/ntfs.rs:508:41 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fs/ntfs.rs:512:29 [INFO] [stdout] | [INFO] [stdout] 512 | async fn getattr(&self, ino: u64) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/fs/ntfs.rs:508:28 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/fs/ntfs.rs:508:41 [INFO] [stdout] | [INFO] [stdout] 508 | async fn lookup(&self, parent: u64, name: &std::ffi::OsStr) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fs/ntfs.rs:512:29 [INFO] [stdout] | [INFO] [stdout] 512 | async fn getattr(&self, ino: u64) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EncryptionInProgress` is never constructed [INFO] [stdout] --> src/core/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum VolumeStatus { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | EncryptionInProgress, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VolumeStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EncryptionInProgress` and `DeviceNotFound` are never constructed [INFO] [stdout] --> src/core/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum CrossCryptError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 58 | EncryptionInProgress, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | DeviceNotFound(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CrossCryptError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TWEAK_SIZE` is never used [INFO] [stdout] --> src/core/crypto.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const TWEAK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `decrypt_sectors` is never used [INFO] [stdout] --> src/core/crypto.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl CryptoEngine { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn decrypt_sectors( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SECTOR_SIZE` is never used [INFO] [stdout] --> src/core/format.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const SECTOR_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PASSWORD_ATTEMPTS` is never used [INFO] [stdout] --> src/core/format.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const MAX_PASSWORD_ATTEMPTS: u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_ATTEMPTS_BEFORE_WIPE` is never used [INFO] [stdout] --> src/core/format.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub const MAX_ATTEMPTS_BEFORE_WIPE: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCK_DURATION_SECS` is never used [INFO] [stdout] --> src/core/format.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const LOCK_DURATION_SECS: u64 = 300; // 5 minutes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `increment_attempt` is never used [INFO] [stdout] --> src/core/format.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl VolumeHeader { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn increment_attempt(&mut self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Argon2idParams` is never constructed [INFO] [stdout] --> src/core/kdf.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Argon2idParams { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `conservative` and `fast` are never used [INFO] [stdout] --> src/core/kdf.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Argon2idParams { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] 69 | /// Conservative parameters for maximum security [INFO] [stdout] 70 | pub fn conservative() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn fast() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `device`, `crypto`, `sector_size`, and `data_offset` are never read [INFO] [stdout] --> src/fs/block.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct BlockManager { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 9 | device: Arc>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | crypto: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | pub sector_size: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | data_offset: u64, // Offset where encrypted data starts [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `read_block`, `write_block`, `read_blocks`, `write_blocks`, and `total_blocks` are never used [INFO] [stdout] --> src/fs/block.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl BlockManager { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub async fn read_block(&self, block_num: u64) -> Result, CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn write_block( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub async fn read_blocks( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn write_blocks( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub async fn total_blocks(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheEntry` is never constructed [INFO] [stdout] --> src/fs/cache.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct CacheEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockCache` is never constructed [INFO] [stdout] --> src/fs/cache.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct BlockCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/fs/cache.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl BlockCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new(manager: Arc, max_size: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn read(&self, block_num: u64) -> Result, CrossCryptError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn write(&self, block_num: u64, data: Vec) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub async fn flush(&self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn flush_block(&self, block_num: u64) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub async fn clear(&self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | async fn insert(&self, block_num: u64, data: Vec, dirty: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | async fn evict_lru(&self, cache: &mut HashMap) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub async fn clean_expired(&self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileAttr` is never constructed [INFO] [stdout] --> src/fs/encrypt_fs.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct FileAttr { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FileType` is never used [INFO] [stdout] --> src/fs/encrypt_fs.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum FileType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `EncryptFileSystem` is never used [INFO] [stdout] --> src/fs/encrypt_fs.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub trait EncryptFileSystem: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Statfs` is never constructed [INFO] [stdout] --> src/fs/encrypt_fs.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub struct Statfs { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NtfsEncryptFs` is never constructed [INFO] [stdout] --> src/fs/encrypt_fs.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct NtfsEncryptFs { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/fs/encrypt_fs.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 179 | impl NtfsEncryptFs { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 180 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/fs/ntfs.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct NtfsBootSector { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 18 | pub bytes_per_sector: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub sectors_per_cluster: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub total_sectors: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub mft_cluster: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 22 | pub mft_mirror_cluster: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub clusters_per_mft_record: i8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub clusters_per_index_record: i8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | pub serial_number: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NtfsBootSector` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/fs/ntfs.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct MftEntry { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 31 | pub signature: [u8; 4], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 32 | pub flags: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | pub used_size: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 34 | pub allocated_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 35 | pub base_record: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 36 | pub next_attribute_id: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub attributes: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MftEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/fs/ntfs.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum AttributeType { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 43 | StandardInformation = 0x10, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | AttributeList = 0x20, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 45 | FileName = 0x30, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 46 | ObjectId = 0x40, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 47 | SecurityDescriptor = 0x50, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | VolumeName = 0x60, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 49 | VolumeInformation = 0x70, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 50 | Data = 0x80, [INFO] [stdout] | ^^^^ [INFO] [stdout] 51 | IndexRoot = 0x90, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 52 | IndexAllocation = 0xA0, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | Bitmap = 0xB0, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 54 | ReparsePoint = 0xC0, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 55 | EaInformation = 0xD0, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 56 | Ea = 0xE0, [INFO] [stdout] | ^^ [INFO] [stdout] 57 | LoggedUtilityStream = 0x100, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | End = 0xFFFFFFFF, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AttributeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/fs/ntfs.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct MftAttribute { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 64 | pub attr_type: AttributeType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 65 | pub length: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 66 | pub non_resident: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 67 | pub name_length: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 68 | pub name_offset: u16, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub flags: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 70 | pub attribute_id: u16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 71 | pub data: AttributeData, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MftAttribute` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Resident` and `NonResident` are never constructed [INFO] [stdout] --> src/fs/ntfs.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum AttributeData { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 76 | Resident { data: Vec }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 77 | NonResident { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AttributeData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cluster_offset` and `cluster_count` are never read [INFO] [stdout] --> src/fs/ntfs.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct DataRun { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 92 | pub cluster_offset: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub cluster_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DataRun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileNameAttr` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct FileNameAttr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StandardInfo` is never constructed [INFO] [stdout] --> src/fs/ntfs.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct StandardInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `block_manager`, `boot_sector`, `mft_cache`, `cluster_size`, and `mft_record_size` are never read [INFO] [stdout] --> src/fs/ntfs.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct NtfsFilesystem { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 132 | block_manager: BlockManager, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 133 | boot_sector: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 134 | mft_cache: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 135 | cluster_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 136 | mft_record_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/fs/ntfs.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 139 | impl NtfsFilesystem { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 140 | pub fn new(block_manager: BlockManager) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub async fn parse_boot_sector(&mut self) -> Result<(), CrossCryptError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub async fn read_mft_entry(&mut self, record_number: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn parse_mft_entry(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | fn parse_attribute(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 334 | fn parse_non_resident_data(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 399 | fn parse_variable_int(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 407 | fn parse_signed_variable_int(&self, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn parse_file_name(data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LinuxFuseFilesystem` is never constructed [INFO] [stdout] --> src/platform/linux.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct LinuxFuseFilesystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/platform/linux.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl LinuxFuseFilesystem { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s [INFO] running `Command { std: "docker" "inspect" "0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6", kill_on_drop: false }` [INFO] [stdout] 0b378f6baad3e52d694314e697fc1b9f910357d86a7b9a9513d973aa4e3c94b6