[INFO] cloning repository https://github.com/plecong/mergerfs-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/plecong/mergerfs-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplecong%2Fmergerfs-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplecong%2Fmergerfs-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 948cb0f476bbcb77653ee85921619d36c5a3fe89
[INFO] checking plecong/mergerfs-rs against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-150727
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fplecong%2Fmergerfs-rs" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/plecong/mergerfs-rs
[INFO] finished tweaking git repo https://github.com/plecong/mergerfs-rs
[INFO] tweaked toml for git repo https://github.com/plecong/mergerfs-rs written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/plecong/mergerfs-rs on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/plecong/mergerfs-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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fuser v0.14.0
[INFO] [stderr]   Downloaded scc v2.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d01aee1c5b21c26a368b6286e3ff9f6ec7bed5281f15a420929ba2d89cca74da
[INFO] running `Command { std: "docker" "start" "-a" "d01aee1c5b21c26a368b6286e3ff9f6ec7bed5281f15a420929ba2d89cca74da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d01aee1c5b21c26a368b6286e3ff9f6ec7bed5281f15a420929ba2d89cca74da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d01aee1c5b21c26a368b6286e3ff9f6ec7bed5281f15a420929ba2d89cca74da", kill_on_drop: false }`
[INFO] [stdout] d01aee1c5b21c26a368b6286e3ff9f6ec7bed5281f15a420929ba2d89cca74da
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e526d9f73be0ef2564a813771b4d27f2c161efce1ef2b66d0ab4de75814a48d1
[INFO] running `Command { std: "docker" "start" "-a" "e526d9f73be0ef2564a813771b4d27f2c161efce1ef2b66d0ab4de75814a48d1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling fuser v0.14.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tracing-attributes v0.1.29
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking sdd v3.0.8
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking scc v2.3.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking xattr v1.5.0
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking mergerfs-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `existing_path_all::ExistingPathAllActionPolicy`
[INFO] [stdout]  --> src/policy/action/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use existing_path_all::ExistingPathAllActionPolicy;
[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 import: `super::*`
[INFO] [stdout]    --> src/file_ops.rs:916:9
[INFO] [stdout]     |
[INFO] [stdout] 916 |     use super::*;
[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 import: `super::*`
[INFO] [stdout]  --> src/inode_integration_test.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::test_utils::*`
[INFO] [stdout]  --> src/inode_integration_test.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::test_utils::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConfigRef` and `Config`
[INFO] [stdout]  --> src/inode_integration_test.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::config::{Config, ConfigRef};
[INFO] [stdout]   |                         ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config_manager::ConfigManager`
[INFO] [stdout]  --> src/inode_integration_test.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::config_manager::ConfigManager;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]   --> src/inode_integration_test.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use parking_lot::RwLock;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/fuse_fs.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let path = {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_no_create` and `is_readonly_or_no_create` are never used
[INFO] [stdout]   --> src/branch.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Branch {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn is_no_create(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn is_readonly_or_no_create(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RelSymlink` and `AbsSymlink` are never constructed
[INFO] [stdout]   --> src/config.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum RenameEXDEV {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 35 |     Passthrough, // Return EXDEV error to caller
[INFO] [stdout] 36 |     RelSymlink,  // Create relative symlinks
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     AbsSymlink,  // Create absolute symlinks
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RenameEXDEV` 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 `mountpoint`, `rename_exdev`, `direct_io_allow_mmap`, and `parallel_direct_writes` are never read
[INFO] [stdout]   --> src/config.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Config {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub mountpoint: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 82 |     pub ignore_path_preserving_on_rename: bool,
[INFO] [stdout] 83 |     pub rename_exdev: RenameEXDEV,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub direct_io_allow_mmap: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     pub parallel_direct_writes: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` 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: method `should_enable_kernel_cache` is never used
[INFO] [stdout]    --> src/config.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl Config {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn should_enable_kernel_cache(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotSupported` is never constructed
[INFO] [stdout]   --> src/config_manager.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum ConfigError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     NotSupported,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `help` are never used
[INFO] [stdout]   --> src/config_manager.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub trait ConfigOption: Send + Sync + Any {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] 35 |     /// Get the option name (e.g., "moveonenospc")
[INFO] [stdout] 36 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn help(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `help` are never read
[INFO] [stdout]    --> src/config_manager.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | struct BooleanOption {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 333 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 334 |     value: Arc<RwLock<bool>>,
[INFO] [stdout] 335 |     help: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `help` are never read
[INFO] [stdout]    --> src/config_manager.rs:474:5
[INFO] [stdout]     |
[INFO] [stdout] 473 | struct ReadOnlyOption {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 474 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 475 |     value: String,
[INFO] [stdout] 476 |     help: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> src/policy/action/all.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AllActionPolicy {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn execute(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExistingPathFirstFoundActionPolicy` is never constructed
[INFO] [stdout]  --> src/policy/action/existing_path_first_found.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ExistingPathFirstFoundActionPolicy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/policy/action/existing_path_first_found.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ExistingPathFirstFoundActionPolicy {
[INFO] [stdout]    | --------------------------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AllSearchPolicy` is never constructed
[INFO] [stdout]  --> src/policy/search/all.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AllSearchPolicy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/policy/search/all.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AllSearchPolicy {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `search` is never used
[INFO] [stdout]   --> src/policy/search/first_found.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl FirstFoundSearchPolicy {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 38 |     pub fn search(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewestSearchPolicy` is never constructed
[INFO] [stdout]  --> src/policy/search/newest.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct NewestSearchPolicy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/policy/search/newest.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl NewestSearchPolicy {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_errno` is never used
[INFO] [stdout]   --> src/policy/error.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl PolicyError {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn from_errno(errno: i32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/policy/traits.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait ActionPolicy: Send + Sync {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] 24 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/policy/traits.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub trait SearchPolicy: Send + Sync {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] 35 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total` is never read
[INFO] [stdout]  --> src/policy/utils.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DiskSpace {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 7 |     pub total: u64,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DiskSpace` 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: associated function `calculate_directory_size` is never used
[INFO] [stdout]   --> src/policy/utils.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl DiskSpace {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     fn calculate_directory_size(path: &Path) -> Result<u64, io::Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_metadata` and `get_metadata_single` are never used
[INFO] [stdout]    --> src/metadata_ops.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout]  13 | impl MetadataManager {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn get_metadata(&self, path: &Path) -> Result<FileMetadata, PolicyError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn get_metadata_single(&self, path: &Path) -> Result<FileMetadata, PolicyError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileMetadata` is never constructed
[INFO] [stdout]    --> src/metadata_ops.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct FileMetadata {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/file_ops.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl FileManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn write_to_file(&self, path: &Path, offset: u64, data: &[u8]) -> Result<usize, PolicyError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn read_file(&self, path: &Path) -> Result<Vec<u8>, PolicyError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn file_exists(&self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn create_symlink(&self, link_path: &Path, target: &Path) -> Result<(), PolicyError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn directory_exists(&self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn get_metadata(&self, path: &Path) -> Option<std::fs::Metadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn file_exists_search(&self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ino`, `flags`, and `direct_io` are never read
[INFO] [stdout]   --> src/file_handle.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct FileHandle {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  8 |     pub ino: u64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]  9 |     pub path: PathBuf,
[INFO] [stdout] 10 |     pub flags: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 11 |     pub branch_idx: Option<usize>,  // Which branch the file was opened from
[INFO] [stdout] 12 |     pub direct_io: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileHandle` 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: methods `get_handle_count` and `update_branch` are never used
[INFO] [stdout]   --> src/file_handle.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl FileHandleManager {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn get_handle_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn update_branch(&self, fh: u64, new_branch_idx: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENODATA` is never used
[INFO] [stdout]   --> src/xattr/mod.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |         const ENODATA: i32 = 61;  // No data available (alias for ENOATTR)
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `XattrOperations` is never used
[INFO] [stdout]  --> src/xattr/operations.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait XattrOperations {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergerfsXattrHandler` is never constructed
[INFO] [stdout]  --> src/xattr/special_attrs.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MergerfsXattrHandler {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `handle_special_attr`, `get_basepath`, `get_relpath`, `get_fullpath`, and `get_allpaths` are never used
[INFO] [stdout]   --> src/xattr/special_attrs.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MergerfsXattrHandler {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(file_manager: Arc<FileManager>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn handle_special_attr(&self, path: &Path, name: &str) -> Option<Result<Vec<u8>, XattrError>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn get_basepath(&self, path: &Path) -> Result<Vec<u8>, XattrError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn get_relpath(&self, path: &Path) -> Result<Vec<u8>, XattrError> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn get_fullpath(&self, path: &Path) -> Result<Vec<u8>, XattrError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn get_allpaths(&self, path: &Path) -> Result<Vec<u8>, XattrError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EROFS` is never used
[INFO] [stdout]   --> src/fuse_fs.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const EROFS: i32 = 30;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_inode` is never read
[INFO] [stdout]   --> src/fuse_fs.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct MergerFS {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     next_inode: std::sync::atomic::AtomicU64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `allocate_inode` is never used
[INFO] [stdout]    --> src/fuse_fs.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl MergerFS {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn allocate_inode(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENODATA` is never used
[INFO] [stdout]     --> src/fuse_fs.rs:1947:7
[INFO] [stdout]      |
[INFO] [stdout] 1947 | const ENODATA: i32 = 61;
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENOTSUP` is never used
[INFO] [stdout]     --> src/fuse_fs.rs:1948:7
[INFO] [stdout]      |
[INFO] [stdout] 1948 | const ENOTSUP: i32 = 95;
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_errno` and `priority` are never used
[INFO] [stdout]   --> src/rename_ops.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl RenameError {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 45 |     pub fn to_errno(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn priority(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_OK` is never used
[INFO] [stdout]  --> src/permissions.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const F_OK: i32 = 0;  // Test for existence
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_OK` is never used
[INFO] [stdout]  --> src/permissions.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const X_OK: i32 = 1;  // Test for execute permission
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_OK` is never used
[INFO] [stdout]  --> src/permissions.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const W_OK: i32 = 2;  // Test for write permission
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_OK` is never used
[INFO] [stdout]  --> src/permissions.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const R_OK: i32 = 4;  // Test for read permission
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EACCES` is never used
[INFO] [stdout]   --> src/permissions.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const EACCES: i32 = 13;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccessError` is never constructed
[INFO] [stdout]   --> src/permissions.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AccessError(pub i32);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_errno` is never used
[INFO] [stdout]   --> src/permissions.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AccessError {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 18 |     pub fn to_errno(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_access` is never used
[INFO] [stdout]   --> src/permissions.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn check_access(uid: u32, gid: u32, metadata: &Metadata, mask: i32) -> Result<(), AccessError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_path` is never read
[INFO] [stdout]   --> src/moveonenospc.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct MoveResult {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 33 |     pub new_branch_idx: usize,
[INFO] [stdout] 34 |     pub new_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_enabled` is never used
[INFO] [stdout]   --> src/moveonenospc.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl MoveOnENOSPCHandler {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `O_RDONLY` is never used
[INFO] [stdout]    --> src/moveonenospc.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout] 172 |             const O_RDONLY: i32 = 0;
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/fuse_fs.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let path = {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branches`
[INFO] [stdout]    --> src/fuse_integration_tests.rs:968:13
[INFO] [stdout]     |
[INFO] [stdout] 968 |         let branches = vec![Arc::new(Branch::new(branch1.clone(), BranchMode::ReadWrite))];
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `full_path`
[INFO] [stdout]    --> src/inode_integration_test.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let full_path = branch.full_path(file_path);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_full_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_no_create` and `is_readonly_or_no_create` are never used
[INFO] [stdout]   --> src/branch.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Branch {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn is_no_create(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn is_readonly_or_no_create(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RelSymlink` and `AbsSymlink` are never constructed
[INFO] [stdout]   --> src/config.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum RenameEXDEV {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 35 |     Passthrough, // Return EXDEV error to caller
[INFO] [stdout] 36 |     RelSymlink,  // Create relative symlinks
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     AbsSymlink,  // Create absolute symlinks
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RenameEXDEV` 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 `mountpoint`, `rename_exdev`, `direct_io_allow_mmap`, and `parallel_direct_writes` are never read
[INFO] [stdout]   --> src/config.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Config {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub mountpoint: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 82 |     pub ignore_path_preserving_on_rename: bool,
[INFO] [stdout] 83 |     pub rename_exdev: RenameEXDEV,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub direct_io_allow_mmap: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     pub parallel_direct_writes: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` 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: variant `NotSupported` is never constructed
[INFO] [stdout]   --> src/config_manager.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum ConfigError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     NotSupported,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `help` are never used
[INFO] [stdout]   --> src/config_manager.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub trait ConfigOption: Send + Sync + Any {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] 35 |     /// Get the option name (e.g., "moveonenospc")
[INFO] [stdout] 36 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn help(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `help` are never read
[INFO] [stdout]    --> src/config_manager.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | struct BooleanOption {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 333 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 334 |     value: Arc<RwLock<bool>>,
[INFO] [stdout] 335 |     help: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `help` are never read
[INFO] [stdout]    --> src/config_manager.rs:474:5
[INFO] [stdout]     |
[INFO] [stdout] 473 | struct ReadOnlyOption {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 474 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 475 |     value: String,
[INFO] [stdout] 476 |     help: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> src/policy/action/all.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AllActionPolicy {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn execute(
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExistingPathFirstFoundActionPolicy` is never constructed
[INFO] [stdout]  --> src/policy/action/existing_path_first_found.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ExistingPathFirstFoundActionPolicy;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/policy/action/existing_path_first_found.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ExistingPathFirstFoundActionPolicy {
[INFO] [stdout]    | --------------------------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `search` is never used
[INFO] [stdout]   --> src/policy/search/first_found.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl FirstFoundSearchPolicy {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] 38 |     pub fn search(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_errno` is never used
[INFO] [stdout]   --> src/policy/error.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl PolicyError {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn from_errno(errno: i32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/policy/traits.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait ActionPolicy: Send + Sync {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] 24 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/policy/traits.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub trait SearchPolicy: Send + Sync {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] 35 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total` is never read
[INFO] [stdout]  --> src/policy/utils.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DiskSpace {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 7 |     pub total: u64,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DiskSpace` 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: associated function `calculate_directory_size` is never used
[INFO] [stdout]   --> src/policy/utils.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl DiskSpace {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     fn calculate_directory_size(path: &Path) -> Result<u64, io::Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_metadata` and `file_exists_search` are never used
[INFO] [stdout]    --> src/file_ops.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl FileManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn get_metadata(&self, path: &Path) -> Option<std::fs::Metadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn file_exists_search(&self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_branch` is never used
[INFO] [stdout]   --> src/file_handle.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl FileHandleManager {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn update_branch(&self, fh: u64, new_branch_idx: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENODATA` is never used
[INFO] [stdout]   --> src/xattr/mod.rs:33:15
[INFO] [stdout]    |
[INFO] [stdout] 33 |         const ENODATA: i32 = 61;  // No data available (alias for ENOATTR)
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `XattrOperations` is never used
[INFO] [stdout]  --> src/xattr/operations.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait XattrOperations {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_special_attr` is never used
[INFO] [stdout]   --> src/xattr/special_attrs.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MergerfsXattrHandler {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn handle_special_attr(&self, path: &Path, name: &str) -> Option<Result<Vec<u8>, XattrError>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EROFS` is never used
[INFO] [stdout]   --> src/fuse_fs.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const EROFS: i32 = 30;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENODATA` is never used
[INFO] [stdout]     --> src/fuse_fs.rs:1947:7
[INFO] [stdout]      |
[INFO] [stdout] 1947 | const ENODATA: i32 = 61;
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENOTSUP` is never used
[INFO] [stdout]     --> src/fuse_fs.rs:1948:7
[INFO] [stdout]      |
[INFO] [stdout] 1948 | const ENOTSUP: i32 = 95;
[INFO] [stdout]      |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_errno` and `priority` are never used
[INFO] [stdout]   --> src/rename_ops.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl RenameError {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 45 |     pub fn to_errno(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn priority(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/permissions.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AccessError(pub i32);
[INFO] [stdout]    |            ----------- ^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `AccessError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_errno` is never used
[INFO] [stdout]   --> src/permissions.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl AccessError {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 18 |     pub fn to_errno(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `new_path` is never read
[INFO] [stdout]   --> src/moveonenospc.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct MoveResult {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 33 |     pub new_branch_idx: usize,
[INFO] [stdout] 34 |     pub new_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_enabled` is never used
[INFO] [stdout]   --> src/moveonenospc.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl MoveOnENOSPCHandler {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `O_RDONLY` is never used
[INFO] [stdout]    --> src/moveonenospc.rs:172:19
[INFO] [stdout]     |
[INFO] [stdout] 172 |             const O_RDONLY: i32 = 0;
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.72s
[INFO] running `Command { std: "docker" "inspect" "e526d9f73be0ef2564a813771b4d27f2c161efce1ef2b66d0ab4de75814a48d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e526d9f73be0ef2564a813771b4d27f2c161efce1ef2b66d0ab4de75814a48d1", kill_on_drop: false }`
[INFO] [stdout] e526d9f73be0ef2564a813771b4d27f2c161efce1ef2b66d0ab4de75814a48d1
