[INFO] cloning repository https://github.com/Eason0729/coding-agent-sandbox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Eason0729/coding-agent-sandbox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEason0729%2Fcoding-agent-sandbox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEason0729%2Fcoding-agent-sandbox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ba45d37e5f13e5d851ed4adb435c2a7c45d3a170 [INFO] testing Eason0729/coding-agent-sandbox against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEason0729%2Fcoding-agent-sandbox" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Eason0729/coding-agent-sandbox [INFO] finished tweaking git repo https://github.com/Eason0729/coding-agent-sandbox [INFO] tweaked toml for git repo https://github.com/Eason0729/coding-agent-sandbox written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Eason0729/coding-agent-sandbox on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Eason0729/coding-agent-sandbox 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serial_test v3.4.0 [INFO] [stderr] Downloaded unix_socket v0.5.0 [INFO] [stderr] Downloaded scc v2.4.0 [INFO] [stderr] Downloaded serial_test_derive v3.4.0 [INFO] [stderr] Downloaded env_filter v1.0.0 [INFO] [stderr] Downloaded libseccomp-sys v0.3.0 [INFO] [stderr] Downloaded toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Downloaded clap_lex v1.0.0 [INFO] [stderr] Downloaded sdd v3.0.10 [INFO] [stderr] Downloaded env_logger v0.11.9 [INFO] [stderr] Downloaded num_enum_derive v0.7.5 [INFO] [stderr] Downloaded num_enum v0.7.5 [INFO] [stderr] Downloaded toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Downloaded libseccomp v0.4.0 [INFO] [stderr] Downloaded portable-atomic-util v0.2.5 [INFO] [stderr] Downloaded clap v4.5.60 [INFO] [stderr] Downloaded toml_edit v0.25.4+spec-1.1.0 [INFO] [stderr] Downloaded caps v0.5.6 [INFO] [stderr] Downloaded zerocopy-derive v0.8.42 [INFO] [stderr] Downloaded jiff-static v0.2.23 [INFO] [stderr] Downloaded fuser v0.17.0 [INFO] [stderr] Downloaded clap_builder v4.5.60 [INFO] [stderr] Downloaded zerocopy v0.8.42 [INFO] [stderr] Downloaded nix v0.30.1 [INFO] [stderr] Downloaded jiff v0.2.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a [INFO] running `Command { std: "docker" "start" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a", 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" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling libseccomp-sys v0.3.0 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling hash32 v0.2.1 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling fuser v0.17.0 [INFO] [stderr] Compiling libseccomp v0.4.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling toml_edit v0.25.4+spec-1.1.0 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.42 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling num_enum_derive v0.7.5 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling cobs v0.3.0 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling num_enum v0.7.5 [INFO] [stderr] Compiling env_filter v1.0.0 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling jiff v0.2.23 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling unix_socket v0.5.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling env_logger v0.11.9 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling postcard v1.1.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling caps v0.5.6 [INFO] [stderr] Compiling cas v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Policy` [INFO] [stdout] --> src/fuse/mod.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | pub use policy::{AccessMode, Policy}; [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: `MutexError`, `ShmGuard`, and `adopt_mutex_after_fork` [INFO] [stdout] --> src/shm/mod.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | pub use mutex::{adopt_mutex_after_fork, MutexError, ShmGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SHM_LAYOUT_SIZE` and `ShmStateLayout` [INFO] [stdout] --> src/shm/mod.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | pub use state::{ShmState, ShmStateLayout, SHM_LAYOUT_SIZE}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SyncClient` [INFO] [stdout] --> src/syncing/mod.rs:9:31 [INFO] [stdout] | [INFO] [stdout] 9 | pub use client::{ClientError, SyncClient}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `closure::PathTree` [INFO] [stdout] --> src/syncing/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use closure::PathTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AccessLog`, `DiskError`, `FuseMap`, `SandboxMeta`, `flush`, `init_sandbox`, and `load` [INFO] [stdout] --> src/syncing/mod.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub use disk::{flush, init_sandbox, load, AccessLog, DiskError, FuseMap, SandboxMeta}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjectError` and `ObjectStore` [INFO] [stdout] --> src/syncing/mod.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | pub use object::{ObjectError, ObjectStore}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FuseEntry`, `Request`, and `Response` [INFO] [stdout] --> src/syncing/mod.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | pub use proto::{EntryType, FileMetadata, FuseEntry, Request, Response}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `server::run` [INFO] [stdout] --> src/syncing/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use server::run; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fuse/fs.rs:293:40 [INFO] [stdout] | [INFO] [stdout] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/fuse/fs.rs:293:54 [INFO] [stdout] | [INFO] [stdout] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/fuse/fs.rs:293:68 [INFO] [stdout] | [INFO] [stdout] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/fuse/fs.rs:480:22 [INFO] [stdout] | [INFO] [stdout] 480 | fn unlink(&self, req: &Request, parent: INodeNo, name: &OsStr, reply: ReplyEmpty) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/fuse/fs.rs:497:21 [INFO] [stdout] | [INFO] [stdout] 497 | fn rmdir(&self, req: &Request, parent: INodeNo, component: &OsStr, reply: ReplyEmpty) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/fuse/fs.rs:521:9 [INFO] [stdout] | [INFO] [stdout] 521 | req: &Request, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fuse/fs.rs:999:9 [INFO] [stdout] | [INFO] [stdout] 999 | ino: INodeNo, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fuse/fs.rs:1199:9 [INFO] [stdout] | [INFO] [stdout] 1199 | ino: INodeNo, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fh` [INFO] [stdout] --> src/fuse/fs.rs:1200:9 [INFO] [stdout] | [INFO] [stdout] 1200 | fh: FileHandle, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `events` [INFO] [stdout] --> src/fuse/fs.rs:1202:9 [INFO] [stdout] | [INFO] [stdout] 1202 | events: PollEvents, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NotInitialized` and `DaemonNotReady` are never constructed [INFO] [stdout] --> src/cli/run.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum RunError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 21 | #[error("not initialized — run `cas init` first")] [INFO] [stdout] 22 | NotInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | DaemonNotReady(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RunError` has a derived impl for the trait `Debug`, but this is 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: associated function `from_str` is never used [INFO] [stdout] --> src/config/config.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl Config { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 71 | /// Parse a `Config` from a TOML string. [INFO] [stdout] 72 | pub fn from_str(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `not_found` is never used [INFO] [stdout] --> src/error.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Error { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 13 | pub fn not_found(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `attr_from_nix_stat` is never used [INFO] [stdout] --> src/fuse/attr.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn attr_from_nix_stat(ino: u64, meta: &libc::stat) -> FileAttr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decide_open` is never used [INFO] [stdout] --> src/fuse/decision.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn decide_open(state: &OpenState) -> OpenDecision { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_open_transitions` is never used [INFO] [stdout] --> src/fuse/decision.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn extract_open_transitions(state: &OpenState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_dir_entry` is never used [INFO] [stdout] --> src/fuse/executor.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn is_dir_entry(entry: Option<&crate::syncing::proto::FuseEntry>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_setattr_on_open_handle` is never used [INFO] [stdout] --> src/fuse/executor.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn execute_setattr_on_open_handle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_setattr_meta_update` is never used [INFO] [stdout] --> src/fuse/executor.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | pub fn execute_setattr_meta_update( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `meta_from_stat` is never used [INFO] [stdout] --> src/fuse/fs.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl CasFuseFs { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | fn meta_from_stat(stat: &std::fs::Metadata) -> FileMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_unix` is never used [INFO] [stdout] --> src/fuse/inner.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub(super) fn now_unix() -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `file_meta_with_now` is never used [INFO] [stdout] --> src/fuse/inner.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub(super) fn file_meta_with_now(size: u64, mode: u32, uid: u32, gid: u32) -> FileMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unix_i64_to_u64_saturating` is never used [INFO] [stdout] --> src/fuse/inner.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub(super) fn unix_i64_to_u64_saturating(secs: i64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_abs` is never used [INFO] [stdout] --> src/fuse/inner.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub(super) fn normalize_abs(path: &Path) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mount_uid` and `mount_gid` are never read [INFO] [stdout] --> src/fuse/inner.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct Inner { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 89 | pub(super) mount_uid: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 90 | pub(super) mount_gid: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `resolve_ino` and `stat_path` are never used [INFO] [stdout] --> src/fuse/inner.rs:124:19 [INFO] [stdout] | [INFO] [stdout] 94 | impl Inner { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub(super) fn resolve_ino(&self, ino: INodeNo) -> Option<(INodeNo, PathBuf)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub(super) fn stat_path( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ino` is never used [INFO] [stdout] --> src/fuse/inode.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl InodeTable { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_ino(&self, path: &Path) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `object_id` is never read [INFO] [stdout] --> src/fuse/open_file.rs:18:37 [INFO] [stdout] | [INFO] [stdout] 18 | PassthroughObject { file: File, object_id: u64 }, [INFO] [stdout] | ----------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_ranged_size` is never used [INFO] [stdout] --> src/fuse/open_file.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl OpenFile { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn set_ranged_size(&mut self, size: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct OpenState { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 42 | pub access_mode: AccessMode, [INFO] [stdout] 43 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct CreateState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 53 | pub access_mode: AccessMode, [INFO] [stdout] 54 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct UnlinkState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 59 | pub access_mode: AccessMode, [INFO] [stdout] 60 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnlinkState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct RmdirState { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 65 | pub access_mode: AccessMode, [INFO] [stdout] 66 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RmdirState` 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 `from` and `to` are never read [INFO] [stdout] --> src/fuse/state.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct RenameState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 71 | pub access_mode: AccessMode, [INFO] [stdout] 72 | pub from: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | pub to: PathBuf, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `RenameState` 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 `path`, `mode`, `uid`, `gid`, and `size` are never read [INFO] [stdout] --> src/fuse/state.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct SetattrState { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 79 | pub access_mode: AccessMode, [INFO] [stdout] 80 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub mode: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | pub uid: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 85 | pub gid: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 86 | pub size: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetattrState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct ReadlinkState { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 91 | pub access_mode: AccessMode, [INFO] [stdout] 92 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReadlinkState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct MkdirState { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 98 | pub access_mode: AccessMode, [INFO] [stdout] 99 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MkdirState` 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: function `fuse_entry_is_whiteout` is never used [INFO] [stdout] --> src/fuse/state_loader.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn fuse_entry_is_whiteout(entry: Option<&crate::syncing::proto::FuseEntry>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetUidMap` and `SetGidMap` are never constructed [INFO] [stdout] --> src/isolate/stage1.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Stage1Error { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | SetUidMap(Errno), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | #[error("failed to set GID map: {0}")] [INFO] [stdout] 21 | SetGidMap(Errno), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stage1Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `uid` and `gid` are never read [INFO] [stdout] --> src/isolate/stage1.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct UserNs { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 27 | uid: Uid, [INFO] [stdout] | ^^^ [INFO] [stdout] 28 | gid: Gid, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `uid` and `gid` are never used [INFO] [stdout] --> src/isolate/stage1.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl UserNs { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn uid(&self) -> Uid { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn gid(&self) -> Gid { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DropCaps` is never constructed [INFO] [stdout] --> src/isolate/stage2.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Stage2Error { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | DropCaps(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stage2Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AlreadyInitialized` is never constructed [INFO] [stdout] --> src/shm/mutex.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum MutexError { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | AlreadyInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MutexError` 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 `disarm` is never used [INFO] [stdout] --> src/shm/mutex.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl ShmGuard { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn disarm(self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adopt_mutex_after_fork` is never used [INFO] [stdout] --> src/shm/mutex.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub unsafe fn adopt_mutex_after_fork(state: &mut ShmStateLayout) -> Result<(), MutexError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Munmap` and `Close` are never constructed [INFO] [stdout] --> src/shm/region.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum ShmError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | Munmap(i32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Close(i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ShmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/shm/region.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct ShmRegion { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 33 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size` and `name` are never used [INFO] [stdout] --> src/shm/region.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ShmRegion { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `region` is never read [INFO] [stdout] --> src/shm/state.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct ShmState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 40 | region: super::region::ShmRegion, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `upsert_file_entry`, `list_whiteout_under`, and `flush` are never used [INFO] [stdout] --> src/syncing/client.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl SyncClient { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn upsert_file_entry( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn list_whiteout_under(&mut self, path: PathBuf) -> Result, ClientError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn flush(&mut self) -> Result<(), ClientError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ancestors_of` and `clear` are never used [INFO] [stdout] --> src/syncing/closure.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl PathTree { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn ancestors_of(&self, path: &Path) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccessLog` is never constructed [INFO] [stdout] --> src/syncing/disk.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct AccessLog { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `open` and `log` are never used [INFO] [stdout] --> src/syncing/disk.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl AccessLog { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 55 | pub fn open(path: &PathBuf) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn log(&mut self, path: &PathBuf, operation: &str, pid: u32) -> Result<(), DiskError> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NotFound` is never constructed [INFO] [stdout] --> src/syncing/object.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum ObjectError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | NotFound(u64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `dir`, `set_next_id`, `get`, `get_range`, and `init_dir` are never used [INFO] [stdout] --> src/syncing/object.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ObjectStore { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn dir(&self) -> &PathBuf { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn set_next_id(&self, id: u64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get(&self, id: u64) -> Result, ObjectError> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_range(&self, id: u64, offset: u64, len: usize) -> Result, ObjectError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn init_dir(dir: &PathBuf) -> Result<(), ObjectError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_whiteout`, `is_file`, `is_dir`, and `is_symlink` are never used [INFO] [stdout] --> src/syncing/proto.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 129 | impl FuseEntry { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 130 | pub fn is_whiteout(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn is_file(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn is_dir(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn is_symlink(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bind_listener` is never used [INFO] [stdout] --> src/syncing/server.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn bind_listener(sock_path: &Path) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 2m 57s [INFO] running `Command { std: "docker" "inspect" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling cas v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::env` [INFO] [stdout] --> src/config/policy.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | use std::env; [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: `Policy` [INFO] [stdout] --> src/fuse/mod.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | pub use policy::{AccessMode, Policy}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MutexError`, `ShmGuard`, and `adopt_mutex_after_fork` [INFO] [stdout] --> src/shm/mod.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | pub use mutex::{adopt_mutex_after_fork, MutexError, ShmGuard}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SHM_LAYOUT_SIZE` and `ShmStateLayout` [INFO] [stdout] --> src/shm/mod.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | pub use state::{ShmState, ShmStateLayout, SHM_LAYOUT_SIZE}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SyncClient` [INFO] [stdout] --> src/syncing/mod.rs:9:31 [INFO] [stdout] | [INFO] [stdout] 9 | pub use client::{ClientError, SyncClient}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `closure::PathTree` [INFO] [stdout] --> src/syncing/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use closure::PathTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AccessLog`, `DiskError`, `FuseMap`, `SandboxMeta`, `flush`, `init_sandbox`, and `load` [INFO] [stdout] --> src/syncing/mod.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | pub use disk::{flush, init_sandbox, load, AccessLog, DiskError, FuseMap, SandboxMeta}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjectError` and `ObjectStore` [INFO] [stdout] --> src/syncing/mod.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | pub use object::{ObjectError, ObjectStore}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FuseEntry`, `Request`, and `Response` [INFO] [stdout] --> src/syncing/mod.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | pub use proto::{EntryType, FileMetadata, FuseEntry, Request, Response}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `server::run` [INFO] [stdout] --> src/syncing/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use server::run; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fuse/fs.rs:293:40 [INFO] [stdout] | [INFO] [stdout] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/fuse/fs.rs:293:54 [INFO] [stdout] | [INFO] [stdout] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/fuse/fs.rs:293:68 [INFO] [stdout] | [INFO] [stdout] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/fuse/fs.rs:480:22 [INFO] [stdout] | [INFO] [stdout] 480 | fn unlink(&self, req: &Request, parent: INodeNo, name: &OsStr, reply: ReplyEmpty) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/fuse/fs.rs:497:21 [INFO] [stdout] | [INFO] [stdout] 497 | fn rmdir(&self, req: &Request, parent: INodeNo, component: &OsStr, reply: ReplyEmpty) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/fuse/fs.rs:521:9 [INFO] [stdout] | [INFO] [stdout] 521 | req: &Request, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fuse/fs.rs:999:9 [INFO] [stdout] | [INFO] [stdout] 999 | ino: INodeNo, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ino` [INFO] [stdout] --> src/fuse/fs.rs:1199:9 [INFO] [stdout] | [INFO] [stdout] 1199 | ino: INodeNo, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fh` [INFO] [stdout] --> src/fuse/fs.rs:1200:9 [INFO] [stdout] | [INFO] [stdout] 1200 | fh: FileHandle, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `events` [INFO] [stdout] --> src/fuse/fs.rs:1202:9 [INFO] [stdout] | [INFO] [stdout] 1202 | events: PollEvents, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/syncing/object.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | let mut store = ObjectStore::new(dir, 1); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NotInitialized` and `DaemonNotReady` are never constructed [INFO] [stdout] --> src/cli/run.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum RunError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 21 | #[error("not initialized — run `cas init` first")] [INFO] [stdout] 22 | NotInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | DaemonNotReady(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RunError` has a derived impl for the trait `Debug`, but this is 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: associated function `from_str` is never used [INFO] [stdout] --> src/config/config.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl Config { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 71 | /// Parse a `Config` from a TOML string. [INFO] [stdout] 72 | pub fn from_str(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `not_found` is never used [INFO] [stdout] --> src/error.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Error { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 13 | pub fn not_found(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `attr_from_nix_stat` is never used [INFO] [stdout] --> src/fuse/attr.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn attr_from_nix_stat(ino: u64, meta: &libc::stat) -> FileAttr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_dir_entry` is never used [INFO] [stdout] --> src/fuse/executor.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn is_dir_entry(entry: Option<&crate::syncing::proto::FuseEntry>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_setattr_on_open_handle` is never used [INFO] [stdout] --> src/fuse/executor.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn execute_setattr_on_open_handle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_setattr_meta_update` is never used [INFO] [stdout] --> src/fuse/executor.rs:278:8 [INFO] [stdout] | [INFO] [stdout] 278 | pub fn execute_setattr_meta_update( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `meta_from_stat` is never used [INFO] [stdout] --> src/fuse/fs.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl CasFuseFs { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | fn meta_from_stat(stat: &std::fs::Metadata) -> FileMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_unix` is never used [INFO] [stdout] --> src/fuse/inner.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub(super) fn now_unix() -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `file_meta_with_now` is never used [INFO] [stdout] --> src/fuse/inner.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub(super) fn file_meta_with_now(size: u64, mode: u32, uid: u32, gid: u32) -> FileMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unix_i64_to_u64_saturating` is never used [INFO] [stdout] --> src/fuse/inner.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub(super) fn unix_i64_to_u64_saturating(secs: i64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_abs` is never used [INFO] [stdout] --> src/fuse/inner.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub(super) fn normalize_abs(path: &Path) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mount_uid` and `mount_gid` are never read [INFO] [stdout] --> src/fuse/inner.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct Inner { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 89 | pub(super) mount_uid: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 90 | pub(super) mount_gid: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `resolve_ino` and `stat_path` are never used [INFO] [stdout] --> src/fuse/inner.rs:124:19 [INFO] [stdout] | [INFO] [stdout] 94 | impl Inner { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub(super) fn resolve_ino(&self, ino: INodeNo) -> Option<(INodeNo, PathBuf)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub(super) fn stat_path( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ino` is never used [INFO] [stdout] --> src/fuse/inode.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl InodeTable { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_ino(&self, path: &Path) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `object_id` is never read [INFO] [stdout] --> src/fuse/open_file.rs:18:37 [INFO] [stdout] | [INFO] [stdout] 18 | PassthroughObject { file: File, object_id: u64 }, [INFO] [stdout] | ----------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_ranged_size` is never used [INFO] [stdout] --> src/fuse/open_file.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl OpenFile { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn set_ranged_size(&mut self, size: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct OpenState { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 42 | pub access_mode: AccessMode, [INFO] [stdout] 43 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OpenState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct CreateState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 53 | pub access_mode: AccessMode, [INFO] [stdout] 54 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreateState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct UnlinkState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 59 | pub access_mode: AccessMode, [INFO] [stdout] 60 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnlinkState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct RmdirState { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 65 | pub access_mode: AccessMode, [INFO] [stdout] 66 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RmdirState` 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 `from` and `to` are never read [INFO] [stdout] --> src/fuse/state.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct RenameState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 71 | pub access_mode: AccessMode, [INFO] [stdout] 72 | pub from: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | pub to: PathBuf, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `RenameState` 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 `path`, `mode`, `uid`, `gid`, and `size` are never read [INFO] [stdout] --> src/fuse/state.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct SetattrState { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 79 | pub access_mode: AccessMode, [INFO] [stdout] 80 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub mode: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | pub uid: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 85 | pub gid: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 86 | pub size: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetattrState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct ReadlinkState { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 91 | pub access_mode: AccessMode, [INFO] [stdout] 92 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReadlinkState` 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: field `path` is never read [INFO] [stdout] --> src/fuse/state.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct MkdirState { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 98 | pub access_mode: AccessMode, [INFO] [stdout] 99 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MkdirState` 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: function `fuse_entry_is_whiteout` is never used [INFO] [stdout] --> src/fuse/state_loader.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 179 | pub fn fuse_entry_is_whiteout(entry: Option<&crate::syncing::proto::FuseEntry>) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetUidMap` and `SetGidMap` are never constructed [INFO] [stdout] --> src/isolate/stage1.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Stage1Error { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | SetUidMap(Errno), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | #[error("failed to set GID map: {0}")] [INFO] [stdout] 21 | SetGidMap(Errno), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stage1Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `uid` and `gid` are never read [INFO] [stdout] --> src/isolate/stage1.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct UserNs { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 27 | uid: Uid, [INFO] [stdout] | ^^^ [INFO] [stdout] 28 | gid: Gid, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `uid` and `gid` are never used [INFO] [stdout] --> src/isolate/stage1.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl UserNs { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn uid(&self) -> Uid { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn gid(&self) -> Gid { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DropCaps` is never constructed [INFO] [stdout] --> src/isolate/stage2.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Stage2Error { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | DropCaps(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stage2Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AlreadyInitialized` is never constructed [INFO] [stdout] --> src/shm/mutex.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum MutexError { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | AlreadyInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MutexError` 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 `disarm` is never used [INFO] [stdout] --> src/shm/mutex.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl ShmGuard { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn disarm(self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adopt_mutex_after_fork` is never used [INFO] [stdout] --> src/shm/mutex.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub unsafe fn adopt_mutex_after_fork(state: &mut ShmStateLayout) -> Result<(), MutexError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Munmap` and `Close` are never constructed [INFO] [stdout] --> src/shm/region.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum ShmError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | Munmap(i32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Close(i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ShmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/shm/region.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct ShmRegion { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 33 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `size` and `name` are never used [INFO] [stdout] --> src/shm/region.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ShmRegion { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `region` is never read [INFO] [stdout] --> src/shm/state.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct ShmState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 40 | region: super::region::ShmRegion, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `upsert_file_entry`, `list_whiteout_under`, and `flush` are never used [INFO] [stdout] --> src/syncing/client.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl SyncClient { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn upsert_file_entry( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn list_whiteout_under(&mut self, path: PathBuf) -> Result, ClientError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn flush(&mut self) -> Result<(), ClientError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/syncing/closure.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl PathTree { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccessLog` is never constructed [INFO] [stdout] --> src/syncing/disk.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct AccessLog { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `open` and `log` are never used [INFO] [stdout] --> src/syncing/disk.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl AccessLog { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 55 | pub fn open(path: &PathBuf) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn log(&mut self, path: &PathBuf, operation: &str, pid: u32) -> Result<(), DiskError> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NotFound` is never constructed [INFO] [stdout] --> src/syncing/object.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum ObjectError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | NotFound(u64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectError` 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 `dir`, `set_next_id`, `get`, and `get_range` are never used [INFO] [stdout] --> src/syncing/object.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ObjectStore { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn dir(&self) -> &PathBuf { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn set_next_id(&self, id: u64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get(&self, id: u64) -> Result, ObjectError> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_range(&self, id: u64, offset: u64, len: usize) -> Result, ObjectError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_whiteout`, `is_file`, `is_dir`, and `is_symlink` are never used [INFO] [stdout] --> src/syncing/proto.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 129 | impl FuseEntry { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 130 | pub fn is_whiteout(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn is_file(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn is_dir(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn is_symlink(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bind_listener` is never used [INFO] [stdout] --> src/syncing/server.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn bind_listener(sock_path: &Path) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 15.88s [INFO] running `Command { std: "docker" "inspect" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::env` [INFO] [stderr] --> src/config/policy.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | use std::env; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Policy` [INFO] [stderr] --> src/fuse/mod.rs:16:30 [INFO] [stderr] | [INFO] [stderr] 16 | pub use policy::{AccessMode, Policy}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MutexError`, `ShmGuard`, and `adopt_mutex_after_fork` [INFO] [stderr] --> src/shm/mod.rs:5:17 [INFO] [stderr] | [INFO] [stderr] 5 | pub use mutex::{adopt_mutex_after_fork, MutexError, ShmGuard}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SHM_LAYOUT_SIZE` and `ShmStateLayout` [INFO] [stderr] --> src/shm/mod.rs:7:27 [INFO] [stderr] | [INFO] [stderr] 7 | pub use state::{ShmState, ShmStateLayout, SHM_LAYOUT_SIZE}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SyncClient` [INFO] [stderr] --> src/syncing/mod.rs:9:31 [INFO] [stderr] | [INFO] [stderr] 9 | pub use client::{ClientError, SyncClient}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `closure::PathTree` [INFO] [stderr] --> src/syncing/mod.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub use closure::PathTree; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `AccessLog`, `DiskError`, `FuseMap`, `SandboxMeta`, `flush`, `init_sandbox`, and `load` [INFO] [stderr] --> src/syncing/mod.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | pub use disk::{flush, init_sandbox, load, AccessLog, DiskError, FuseMap, SandboxMeta}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ObjectError` and `ObjectStore` [INFO] [stderr] --> src/syncing/mod.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | pub use object::{ObjectError, ObjectStore}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FuseEntry`, `Request`, and `Response` [INFO] [stderr] --> src/syncing/mod.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | pub use proto::{EntryType, FileMetadata, FuseEntry, Request, Response}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `server::run` [INFO] [stderr] --> src/syncing/mod.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub use server::run; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ino` [INFO] [stderr] --> src/fuse/fs.rs:293:40 [INFO] [stderr] | [INFO] [stderr] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/fuse/fs.rs:293:54 [INFO] [stderr] | [INFO] [stderr] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/fuse/fs.rs:293:68 [INFO] [stderr] | [INFO] [stderr] 293 | fn getxattr(&self, _req: &Request, ino: INodeNo, name: &OsStr, size: u32, reply: ReplyXattr) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `req` [INFO] [stderr] --> src/fuse/fs.rs:480:22 [INFO] [stderr] | [INFO] [stderr] 480 | fn unlink(&self, req: &Request, parent: INodeNo, name: &OsStr, reply: ReplyEmpty) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `req` [INFO] [stderr] --> src/fuse/fs.rs:497:21 [INFO] [stderr] | [INFO] [stderr] 497 | fn rmdir(&self, req: &Request, parent: INodeNo, component: &OsStr, reply: ReplyEmpty) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `req` [INFO] [stderr] --> src/fuse/fs.rs:521:9 [INFO] [stderr] | [INFO] [stderr] 521 | req: &Request, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ino` [INFO] [stderr] --> src/fuse/fs.rs:999:9 [INFO] [stderr] | [INFO] [stderr] 999 | ino: INodeNo, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ino` [INFO] [stderr] --> src/fuse/fs.rs:1199:9 [INFO] [stderr] | [INFO] [stderr] 1199 | ino: INodeNo, [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ino` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fh` [INFO] [stderr] --> src/fuse/fs.rs:1200:9 [INFO] [stderr] | [INFO] [stderr] 1200 | fh: FileHandle, [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_fh` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `events` [INFO] [stderr] --> src/fuse/fs.rs:1202:9 [INFO] [stderr] | [INFO] [stderr] 1202 | events: PollEvents, [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/syncing/object.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | let mut store = ObjectStore::new(dir, 1); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variants `NotInitialized` and `DaemonNotReady` are never constructed [INFO] [stderr] --> src/cli/run.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub enum RunError { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] 21 | #[error("not initialized — run `cas init` first")] [INFO] [stderr] 22 | NotInitialized, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | DaemonNotReady(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RunError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `from_str` is never used [INFO] [stderr] --> src/config/config.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 70 | impl Config { [INFO] [stderr] | ----------- associated function in this implementation [INFO] [stderr] 71 | /// Parse a `Config` from a TOML string. [INFO] [stderr] 72 | pub fn from_str(s: &str) -> Result { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `not_found` is never used [INFO] [stderr] --> src/error.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 12 | impl Error { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] 13 | pub fn not_found(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `attr_from_nix_stat` is never used [INFO] [stderr] --> src/fuse/attr.rs:65:8 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn attr_from_nix_stat(ino: u64, meta: &libc::stat) -> FileAttr { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_dir_entry` is never used [INFO] [stderr] --> src/fuse/executor.rs:232:8 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn is_dir_entry(entry: Option<&crate::syncing::proto::FuseEntry>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `execute_setattr_on_open_handle` is never used [INFO] [stderr] --> src/fuse/executor.rs:238:8 [INFO] [stderr] | [INFO] [stderr] 238 | pub fn execute_setattr_on_open_handle( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `execute_setattr_meta_update` is never used [INFO] [stderr] --> src/fuse/executor.rs:278:8 [INFO] [stderr] | [INFO] [stderr] 278 | pub fn execute_setattr_meta_update( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `meta_from_stat` is never used [INFO] [stderr] --> src/fuse/fs.rs:131:8 [INFO] [stderr] | [INFO] [stderr] 78 | impl CasFuseFs { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 131 | fn meta_from_stat(stat: &std::fs::Metadata) -> FileMetadata { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `now_unix` is never used [INFO] [stderr] --> src/fuse/inner.rs:21:15 [INFO] [stderr] | [INFO] [stderr] 21 | pub(super) fn now_unix() -> u64 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `file_meta_with_now` is never used [INFO] [stderr] --> src/fuse/inner.rs:28:15 [INFO] [stderr] | [INFO] [stderr] 28 | pub(super) fn file_meta_with_now(size: u64, mode: u32, uid: u32, gid: u32) -> FileMetadata { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `unix_i64_to_u64_saturating` is never used [INFO] [stderr] --> src/fuse/inner.rs:41:15 [INFO] [stderr] | [INFO] [stderr] 41 | pub(super) fn unix_i64_to_u64_saturating(secs: i64) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `normalize_abs` is never used [INFO] [stderr] --> src/fuse/inner.rs:67:15 [INFO] [stderr] | [INFO] [stderr] 67 | pub(super) fn normalize_abs(path: &Path) -> PathBuf { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `mount_uid` and `mount_gid` are never read [INFO] [stderr] --> src/fuse/inner.rs:89:16 [INFO] [stderr] | [INFO] [stderr] 85 | pub struct Inner { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 89 | pub(super) mount_uid: u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 90 | pub(super) mount_gid: u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `resolve_ino` and `stat_path` are never used [INFO] [stderr] --> src/fuse/inner.rs:124:19 [INFO] [stderr] | [INFO] [stderr] 94 | impl Inner { [INFO] [stderr] | ---------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 124 | pub(super) fn resolve_ino(&self, ino: INodeNo) -> Option<(INodeNo, PathBuf)> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 162 | pub(super) fn stat_path( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_ino` is never used [INFO] [stderr] --> src/fuse/inode.rs:51:12 [INFO] [stderr] | [INFO] [stderr] 19 | impl InodeTable { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 51 | pub fn get_ino(&self, path: &Path) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `object_id` is never read [INFO] [stderr] --> src/fuse/open_file.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | PassthroughObject { file: File, object_id: u64 }, [INFO] [stderr] | ----------------- ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] [INFO] [stderr] warning: method `set_ranged_size` is never used [INFO] [stderr] --> src/fuse/open_file.rs:91:12 [INFO] [stderr] | [INFO] [stderr] 37 | impl OpenFile { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 91 | pub fn set_ranged_size(&mut self, size: u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `path` is never read [INFO] [stderr] --> src/fuse/state.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 41 | pub struct OpenState { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] 42 | pub access_mode: AccessMode, [INFO] [stderr] 43 | pub path: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `OpenState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `path` is never read [INFO] [stderr] --> src/fuse/state.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 52 | pub struct CreateState { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] 53 | pub access_mode: AccessMode, [INFO] [stderr] 54 | pub path: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CreateState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `path` is never read [INFO] [stderr] --> src/fuse/state.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 58 | pub struct UnlinkState { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] 59 | pub access_mode: AccessMode, [INFO] [stderr] 60 | pub path: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `UnlinkState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `path` is never read [INFO] [stderr] --> src/fuse/state.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 64 | pub struct RmdirState { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 65 | pub access_mode: AccessMode, [INFO] [stderr] 66 | pub path: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RmdirState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `from` and `to` are never read [INFO] [stderr] --> src/fuse/state.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 70 | pub struct RenameState { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] 71 | pub access_mode: AccessMode, [INFO] [stderr] 72 | pub from: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] 73 | pub to: PathBuf, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `RenameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `path`, `mode`, `uid`, `gid`, and `size` are never read [INFO] [stderr] --> src/fuse/state.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 78 | pub struct SetattrState { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 79 | pub access_mode: AccessMode, [INFO] [stderr] 80 | pub path: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 83 | pub mode: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] 84 | pub uid: Option, [INFO] [stderr] | ^^^ [INFO] [stderr] 85 | pub gid: Option, [INFO] [stderr] | ^^^ [INFO] [stderr] 86 | pub size: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SetattrState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `path` is never read [INFO] [stderr] --> src/fuse/state.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 90 | pub struct ReadlinkState { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 91 | pub access_mode: AccessMode, [INFO] [stderr] 92 | pub path: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ReadlinkState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `path` is never read [INFO] [stderr] --> src/fuse/state.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 97 | pub struct MkdirState { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 98 | pub access_mode: AccessMode, [INFO] [stderr] 99 | pub path: PathBuf, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `MkdirState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `fuse_entry_is_whiteout` is never used [INFO] [stderr] --> src/fuse/state_loader.rs:179:8 [INFO] [stderr] | [INFO] [stderr] 179 | pub fn fuse_entry_is_whiteout(entry: Option<&crate::syncing::proto::FuseEntry>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `SetUidMap` and `SetGidMap` are never constructed [INFO] [stderr] --> src/isolate/stage1.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub enum Stage1Error { [INFO] [stderr] | ----------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 19 | SetUidMap(Errno), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 20 | #[error("failed to set GID map: {0}")] [INFO] [stderr] 21 | SetGidMap(Errno), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Stage1Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `uid` and `gid` are never read [INFO] [stderr] --> src/isolate/stage1.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub struct UserNs { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 27 | uid: Uid, [INFO] [stderr] | ^^^ [INFO] [stderr] 28 | gid: Gid, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `uid` and `gid` are never used [INFO] [stderr] --> src/isolate/stage1.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 31 | impl UserNs { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 60 | pub fn uid(&self) -> Uid { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 64 | pub fn gid(&self) -> Gid { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `DropCaps` is never constructed [INFO] [stderr] --> src/isolate/stage2.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub enum Stage2Error { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 28 | DropCaps(String), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Stage2Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `AlreadyInitialized` is never constructed [INFO] [stderr] --> src/shm/mutex.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub enum MutexError { [INFO] [stderr] | ---------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 14 | AlreadyInitialized, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `MutexError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `disarm` is never used [INFO] [stderr] --> src/shm/mutex.rs:68:12 [INFO] [stderr] | [INFO] [stderr] 30 | impl ShmGuard { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 68 | pub fn disarm(self) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `adopt_mutex_after_fork` is never used [INFO] [stderr] --> src/shm/mutex.rs:73:15 [INFO] [stderr] | [INFO] [stderr] 73 | pub unsafe fn adopt_mutex_after_fork(state: &mut ShmStateLayout) -> Result<(), MutexError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Munmap` and `Close` are never constructed [INFO] [stderr] --> src/shm/region.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub enum ShmError { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 19 | Munmap(i32), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | Close(i32), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ShmError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `name` is never read [INFO] [stderr] --> src/shm/region.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub struct ShmRegion { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 33 | name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `size` and `name` are never used [INFO] [stderr] --> src/shm/region.rs:130:12 [INFO] [stderr] | [INFO] [stderr] 37 | impl ShmRegion { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 130 | pub fn size(&self) -> usize { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 134 | pub fn name(&self) -> &str { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `region` is never read [INFO] [stderr] --> src/shm/state.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub struct ShmState { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 40 | region: super::region::ShmRegion, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `upsert_file_entry`, `list_whiteout_under`, and `flush` are never used [INFO] [stderr] --> src/syncing/client.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 25 | impl SyncClient { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 87 | pub fn upsert_file_entry( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 203 | pub fn list_whiteout_under(&mut self, path: PathBuf) -> Result, ClientError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 239 | pub fn flush(&mut self) -> Result<(), ClientError> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `clear` is never used [INFO] [stderr] --> src/syncing/closure.rs:125:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl PathTree { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 125 | pub fn clear(&self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `AccessLog` is never constructed [INFO] [stderr] --> src/syncing/disk.rs:50:12 [INFO] [stderr] | [INFO] [stderr] 50 | pub struct AccessLog { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `open` and `log` are never used [INFO] [stderr] --> src/syncing/disk.rs:55:12 [INFO] [stderr] | [INFO] [stderr] 54 | impl AccessLog { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 55 | pub fn open(path: &PathBuf) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 60 | pub fn log(&mut self, path: &PathBuf, operation: &str, pid: u32) -> Result<(), DiskError> { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `NotFound` is never constructed [INFO] [stderr] --> src/syncing/object.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub enum ObjectError { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 14 | NotFound(u64), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ObjectError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `dir`, `set_next_id`, `get`, and `get_range` are never used [INFO] [stderr] --> src/syncing/object.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 22 | impl ObjectStore { [INFO] [stderr] | ---------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 30 | pub fn dir(&self) -> &PathBuf { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn set_next_id(&self, id: u64) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | pub fn get(&self, id: u64) -> Result, ObjectError> { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 95 | pub fn get_range(&self, id: u64, offset: u64, len: usize) -> Result, ObjectError> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `is_whiteout`, `is_file`, `is_dir`, and `is_symlink` are never used [INFO] [stderr] --> src/syncing/proto.rs:130:12 [INFO] [stderr] | [INFO] [stderr] 129 | impl FuseEntry { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] 130 | pub fn is_whiteout(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 133 | pub fn is_file(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 136 | pub fn is_dir(&self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 139 | pub fn is_symlink(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `bind_listener` is never used [INFO] [stderr] --> src/syncing/server.rs:154:4 [INFO] [stderr] | [INFO] [stderr] 154 | fn bind_listener(sock_path: &Path) -> std::io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `cas` (bin "cas" test) generated 66 warnings (run `cargo fix --bin "cas" -p cas --tests` to apply 21 suggestions) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.33s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/cas-057e94d1941466ae) [INFO] [stdout] running 40 tests [INFO] [stdout] test fuse::attr::tests::unix_u64_huge_does_not_panic ... ok [INFO] [stdout] test fuse::decision::tests::mkdir_passthrough_is_real ... ok [INFO] [stdout] test fuse::decision::tests::open_decision_transition_model_check_exhaustive ... ok [INFO] [stdout] test fuse::attr::tests::unix_i64_negative_is_handled ... ok [INFO] [stdout] test fuse::decision::tests::open_transition_trace_first_write_copy_up_before_open ... ok [INFO] [stdout] test config::policy::tests::implicit_cwd_is_passthrough ... ok [INFO] [stdout] test fuse::decision::tests::open_cow_first_write_requests_copy_up ... ok [INFO] [stdout] test fuse::decision::tests::open_cow_read_prefers_real_without_object ... ok [INFO] [stdout] test fuse::decision::tests::open_transition_trace_whiteout_is_terminal_not_found ... ok [INFO] [stdout] test config::policy::tests::blacklist_still_wins_over_implicit_cwd ... ok [INFO] [stdout] test fuse::decision::tests::open_transition_trace_truncate_skips_copy_up ... ok [INFO] [stdout] test fuse::decision::tests::whiteout_hides_for_all_modes ... ok [INFO] [stdout] test fuse::decision::tests::passthrough_collision_is_dontcare ... ok [INFO] [stdout] test fuse::decision::tests::readdir_child_resolution_matrix_matches_policy_table ... ok [INFO] [stdout] test fuse::decision::tests::readlink_whiteout_is_notfound ... ok [INFO] [stdout] test fuse::decision::tests::stat_behavior_matrix_all_modes_including_whiteout ... ok [INFO] [stdout] test isolate::seccomp::test_allow_core_syscalls ... ok [INFO] [stdout] test syncing::closure::tests::children_of_is_direct_only ... ok [INFO] [stdout] test syncing::closure::tests::descendants_of ... ok [INFO] [stdout] test syncing::closure::tests::empty_lookups ... ok [INFO] [stdout] test syncing::closure::tests::insert_nested_path ... ok [INFO] [stdout] test syncing::closure::tests::remove_leaf ... ok [INFO] [stdout] test syncing::closure::tests::remove_non_existent ... ok [INFO] [stdout] test fuse::decision::tests::rename_uses_tree_for_dir_entry ... ok [INFO] [stdout] test syncing::closure::tests::children_of_root ... ok [INFO] [stdout] test syncing::closure::tests::remove_updates_direct_children_index ... ok [INFO] [stdout] test syncing::closure::tests::multiple_roots ... ok [INFO] [stdout] test syncing::closure::tests::serialization_round_trip ... ok [INFO] [stdout] test syncing::disk::tests::test_load_rejects_old_abi ... ok [INFO] [stdout] test fuse::decision::tests::setattr_open_handle_wins ... ok [INFO] [stdout] test syncing::closure::tests::insert_single_path ... ok [INFO] [stdout] test syncing::closure::tests::remove_cascade ... ok [INFO] [stdout] test syncing::closure::tests::subtree_paths ... ok [INFO] [stdout] test fuse::open_file::tests::write_at_persists_full_buffer ... ok [INFO] [stdout] test syncing::object::tests::test_object_path_low_byte_shard ... ok [INFO] [stdout] test syncing::pool::tests::reuse_after_drop_uses_single_connection ... ok [INFO] [stdout] test syncing::pool::tests::bounded_growth_never_exceeds_max_size ... ok [INFO] [stdout] test syncing::object::tests::put_copy_from_copies_source_bytes ... ok [INFO] [stdout] test syncing::disk::tests::test_load_accepts_current_abi ... ok [INFO] [stdout] test syncing::object::tests::test_sharding_distributes_ids ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.22s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a", kill_on_drop: false }` [INFO] [stdout] 0c262a09f84cbc8ee1ad1938d475a44216abc0f38b8e9071a20e0af34fbcf63a