[INFO] cloning repository https://github.com/radumarias/rust-fuse3-template
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/radumarias/rust-fuse3-template" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fradumarias%2Frust-fuse3-template", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fradumarias%2Frust-fuse3-template'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d123e0abb2a628476e02538757c3f1c9cf9818aa
[INFO] checking radumarias/rust-fuse3-template against try#59a256151e578f525a26127f2c3e3a6c7e2982ca for pr-149291-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fradumarias%2Frust-fuse3-template" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/radumarias/rust-fuse3-template
[INFO] finished tweaking git repo https://github.com/radumarias/rust-fuse3-template
[INFO] tweaked toml for git repo https://github.com/radumarias/rust-fuse3-template written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/radumarias/rust-fuse3-template on toolchain 59a256151e578f525a26127f2c3e3a6c7e2982ca
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/radumarias/rust-fuse3-template 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" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1a3c64c9ae9901fbfda5592df47235717755ac8da269464399abaa654eeab33d
[INFO] running `Command { std: "docker" "start" "-a" "1a3c64c9ae9901fbfda5592df47235717755ac8da269464399abaa654eeab33d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a3c64c9ae9901fbfda5592df47235717755ac8da269464399abaa654eeab33d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a3c64c9ae9901fbfda5592df47235717755ac8da269464399abaa654eeab33d", kill_on_drop: false }`
[INFO] [stdout] 1a3c64c9ae9901fbfda5592df47235717755ac8da269464399abaa654eeab33d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+59a256151e578f525a26127f2c3e3a6c7e2982ca" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4cbacf8f30d6cc04a75a235964bdcc9d4b89a554db25d41267fbb9c4e448426d
[INFO] running `Command { std: "docker" "start" "-a" "4cbacf8f30d6cc04a75a235964bdcc9d4b89a554db25d41267fbb9c4e448426d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking parking v2.2.0
[INFO] [stderr]     Checking either v1.12.0
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking clap_builder v4.5.7
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling cstr v0.2.12
[INFO] [stderr]     Checking num-format v0.4.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking event-listener v4.0.3
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking async-notify v0.3.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking which v6.0.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]     Checking ctrlc v3.4.4
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling trait-make v0.1.0
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]     Checking tokio v1.38.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking thiserror v1.0.61
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking clap v4.5.7
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stderr]     Checking tracing-test v0.2.5
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking fuse3 v0.7.2
[INFO] [stderr]     Checking fuse3-template v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/fs.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque};
[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: `std::fmt::Debug`
[INFO] [stdout]  --> src/fs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `OpenOptions`, and `ReadDir`
[INFO] [stdout]  --> src/fs.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{DirEntry, File, OpenOptions, ReadDir};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NonZeroUsize` and `ParseIntError`
[INFO] [stdout]  --> src/fs.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::num::{NonZeroUsize, ParseIntError};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/fs.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]  --> src/fs.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]   --> src/fs.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, Weak};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/fs.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs` and `io`
[INFO] [stdout]   --> src/fs.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{fs, io};
[INFO] [stdout]    |           ^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryStreamExt`
[INFO] [stdout]   --> src/fs.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::TryStreamExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/fs.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> src/fs.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use thiserror::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stdout]   --> src/fs.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::runtime::Runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]   --> src/fs.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinError` and `JoinSet`
[INFO] [stdout]   --> src/fs.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::task::{JoinError, JoinSet};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::wrappers::ReadDirStream`
[INFO] [stdout]   --> src/fs.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio_stream::wrappers::ReadDirStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/fs.rs:25:41
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tracing::{debug, error, instrument, warn};
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/fs.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet, VecDeque};
[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: `std::fmt::Debug`
[INFO] [stdout]  --> src/fs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `OpenOptions`, and `ReadDir`
[INFO] [stdout]  --> src/fs.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{DirEntry, File, OpenOptions, ReadDir};
[INFO] [stdout]   |               ^^^^^^^^  ^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NonZeroUsize` and `ParseIntError`
[INFO] [stdout]  --> src/fs.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::num::{NonZeroUsize, ParseIntError};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> src/fs.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU64`
[INFO] [stdout]  --> src/fs.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::AtomicU64;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]   --> src/fs.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, Weak};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/fs.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs` and `io`
[INFO] [stdout]   --> src/fs.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{fs, io};
[INFO] [stdout]    |           ^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryStreamExt`
[INFO] [stdout]   --> src/fs.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::TryStreamExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/fs.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> src/fs.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use thiserror::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::runtime::Runtime`
[INFO] [stdout]   --> src/fs.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::runtime::Runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `RwLock`
[INFO] [stdout]   --> src/fs.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinError` and `JoinSet`
[INFO] [stdout]   --> src/fs.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::task::{JoinError, JoinSet};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio_stream::wrappers::ReadDirStream`
[INFO] [stdout]   --> src/fs.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tokio_stream::wrappers::ReadDirStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/fs.rs:25:41
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tracing::{debug, error, instrument, warn};
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `create_attr`
[INFO] [stdout]    --> src/fs.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         create_attr: CreateFileAttr,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_create_attr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read`
[INFO] [stdout]    --> src/fs.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         read: bool,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write`
[INFO] [stdout]    --> src/fs.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         write: bool,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:370:65
[INFO] [stdout]     |
[INFO] [stdout] 370 |     async fn read(&self, ino: u64, offset: u64, buf: &mut [u8], handle: u64) -> FsResult<usize> {
[INFO] [stdout]     |                                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |     async fn release(&self, handle: u64) -> FsResult<()> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fh`
[INFO] [stdout]    --> src/fs.rs:394:36
[INFO] [stdout]     |
[INFO] [stdout] 394 |     async fn is_read_handle(&self, fh: u64) -> bool {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fh`
[INFO] [stdout]    --> src/fs.rs:398:37
[INFO] [stdout]     |
[INFO] [stdout] 398 |     async fn is_write_handle(&self, fh: u64) -> bool {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `create_attr`
[INFO] [stdout]    --> src/fs.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         create_attr: CreateFileAttr,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_create_attr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read`
[INFO] [stdout]    --> src/fs.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         read: bool,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write`
[INFO] [stdout]    --> src/fs.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         write: bool,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:403:62
[INFO] [stdout]     |
[INFO] [stdout] 403 |     async fn write(&self, ino: u64, offset: u64, buf: &[u8], handle: u64) -> FsResult<usize> {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:428:27
[INFO] [stdout]     |
[INFO] [stdout] 428 |     async fn flush(&self, handle: u64) -> FsResult<()> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:370:65
[INFO] [stdout]     |
[INFO] [stdout] 370 |     async fn read(&self, ino: u64, offset: u64, buf: &mut [u8], handle: u64) -> FsResult<usize> {
[INFO] [stdout]     |                                                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |     async fn release(&self, handle: u64) -> FsResult<()> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fs.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut attr = unsafe { FILE.as_mut().unwrap() };
[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: unused variable: `fh`
[INFO] [stdout]    --> src/fs.rs:394:36
[INFO] [stdout]     |
[INFO] [stdout] 394 |     async fn is_read_handle(&self, fh: u64) -> bool {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `parent_attr` is assigned to, but never used
[INFO] [stdout]    --> src/fs.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |         let mut parent_attr = self.get_attr(parent).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_parent_attr` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_attr` is never read
[INFO] [stdout]    --> src/fs.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |         parent_attr.mtime = SystemTime::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_attr` is never read
[INFO] [stdout]    --> src/fs.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout] 565 |         parent_attr.ctime = SystemTime::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fh`
[INFO] [stdout]    --> src/fs.rs:398:37
[INFO] [stdout]     |
[INFO] [stdout] 398 |     async fn is_write_handle(&self, fh: u64) -> bool {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:403:62
[INFO] [stdout]     |
[INFO] [stdout] 403 |     async fn write(&self, ino: u64, offset: u64, buf: &[u8], handle: u64) -> FsResult<usize> {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/fs.rs:428:27
[INFO] [stdout]     |
[INFO] [stdout] 428 |     async fn flush(&self, handle: u64) -> FsResult<()> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/fs.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut attr = unsafe { FILE.as_mut().unwrap() };
[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: variable `parent_attr` is assigned to, but never used
[INFO] [stdout]    --> src/fs.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |         let mut parent_attr = self.get_attr(parent).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_parent_attr` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_attr` is never read
[INFO] [stdout]    --> src/fs.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |         parent_attr.mtime = SystemTime::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `parent_attr` is never read
[INFO] [stdout]    --> src/fs.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout] 565 |         parent_attr.ctime = SystemTime::now();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rdev` is never read
[INFO] [stdout]   --> src/fs_model.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct SetFileAttr {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub rdev: Option<u32>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SetFileAttr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_rdev` and `with_flags` are never used
[INFO] [stdout]    --> src/fs_model.rs:138:18
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl SetFileAttr {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub const fn with_rdev(mut self, rdev: u32) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub const fn with_flags(mut self, flags: u32) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_read_handle` is never used
[INFO] [stdout]   --> src/fs.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) trait Filesystem: Send + Sync {
[INFO] [stdout]    |                  ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 82 |     async fn is_read_handle(&self, fh: u64) -> bool;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `direct_io` and `suid_support` are never read
[INFO] [stdout]    --> src/fs.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub(crate) struct FilesystemImpl {
[INFO] [stdout]     |                   -------------- fields in this struct
[INFO] [stdout] 134 |     direct_io: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 135 |     suid_support: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read` is never used
[INFO] [stdout]    --> src/stream_util.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn read(mut r: impl Read, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:302:31
[INFO] [stdout]     |
[INFO] [stdout] 302 |             return if name == FILENAME.as_ref().unwrap() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:318:23
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 name: FILENAME.as_ref().unwrap().to_owned(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:333:23
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 name: FILENAME.as_ref().unwrap().to_owned(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:346:26
[INFO] [stdout]     |
[INFO] [stdout] 346 |             unsafe { Ok(*ROOT.as_ref().unwrap()) }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:360:24
[INFO] [stdout]     |
[INFO] [stdout] 360 |                     != CONTENT.as_ref().unwrap().get_ref().len() as u64
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:364:24
[INFO] [stdout]     |
[INFO] [stdout] 364 |             merge_attr(FILE.as_mut().unwrap(), &set_attr);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:383:27
[INFO] [stdout]     |
[INFO] [stdout] 383 |             let content = CONTENT.as_mut().unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:415:27
[INFO] [stdout]     |
[INFO] [stdout] 415 |             let content = CONTENT.as_mut().unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:506:31
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 let content = CONTENT.as_mut().unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:555:72
[INFO] [stdout]     |
[INFO] [stdout] 555 |             if parent != ROOT_INODE || new_parent != parent || name != FILENAME.as_ref().unwrap() {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:561:33
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut attr = unsafe { FILE.as_mut().unwrap() };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:605:39
[INFO] [stdout]     |
[INFO] [stdout] 605 |         FILE.as_mut().unwrap().size = CONTENT.as_ref().unwrap().get_ref().len() as u64;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:605:9
[INFO] [stdout]     |
[INFO] [stdout] 605 |         FILE.as_mut().unwrap().size = CONTENT.as_ref().unwrap().get_ref().len() as u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:606:10
[INFO] [stdout]     |
[INFO] [stdout] 606 |         *FILE.as_ref().unwrap()
[INFO] [stdout]     |          ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rdev` is never read
[INFO] [stdout]   --> src/fs_model.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct SetFileAttr {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub rdev: Option<u32>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SetFileAttr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_rdev` and `with_flags` are never used
[INFO] [stdout]    --> src/fs_model.rs:138:18
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl SetFileAttr {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub const fn with_rdev(mut self, rdev: u32) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub const fn with_flags(mut self, flags: u32) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_read_handle` is never used
[INFO] [stdout]   --> src/fs.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) trait Filesystem: Send + Sync {
[INFO] [stdout]    |                  ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 82 |     async fn is_read_handle(&self, fh: u64) -> bool;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `direct_io` and `suid_support` are never read
[INFO] [stdout]    --> src/fs.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub(crate) struct FilesystemImpl {
[INFO] [stdout]     |                   -------------- fields in this struct
[INFO] [stdout] 134 |     direct_io: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 135 |     suid_support: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read` is never used
[INFO] [stdout]    --> src/stream_util.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn read(mut r: impl Read, buf: &mut [u8]) -> io::Result<usize> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:302:31
[INFO] [stdout]     |
[INFO] [stdout] 302 |             return if name == FILENAME.as_ref().unwrap() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:318:23
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 name: FILENAME.as_ref().unwrap().to_owned(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:333:23
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 name: FILENAME.as_ref().unwrap().to_owned(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:346:26
[INFO] [stdout]     |
[INFO] [stdout] 346 |             unsafe { Ok(*ROOT.as_ref().unwrap()) }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:360:24
[INFO] [stdout]     |
[INFO] [stdout] 360 |                     != CONTENT.as_ref().unwrap().get_ref().len() as u64
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:364:24
[INFO] [stdout]     |
[INFO] [stdout] 364 |             merge_attr(FILE.as_mut().unwrap(), &set_attr);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:383:27
[INFO] [stdout]     |
[INFO] [stdout] 383 |             let content = CONTENT.as_mut().unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:415:27
[INFO] [stdout]     |
[INFO] [stdout] 415 |             let content = CONTENT.as_mut().unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:506:31
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 let content = CONTENT.as_mut().unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:555:72
[INFO] [stdout]     |
[INFO] [stdout] 555 |             if parent != ROOT_INODE || new_parent != parent || name != FILENAME.as_ref().unwrap() {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:561:33
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut attr = unsafe { FILE.as_mut().unwrap() };
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:605:39
[INFO] [stdout]     |
[INFO] [stdout] 605 |         FILE.as_mut().unwrap().size = CONTENT.as_ref().unwrap().get_ref().len() as u64;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/fs.rs:605:9
[INFO] [stdout]     |
[INFO] [stdout] 605 |         FILE.as_mut().unwrap().size = CONTENT.as_ref().unwrap().get_ref().len() as u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/fs.rs:606:10
[INFO] [stdout]     |
[INFO] [stdout] 606 |         *FILE.as_ref().unwrap()
[INFO] [stdout]     |          ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `fuse_template`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use fuse_template::mount::MountPoint;
[INFO] [stdout]    |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `fuse_template`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 16 | use fuse3_template::mount::MountPoint;
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `fuse_template`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use fuse_template::mount::MountPoint;
[INFO] [stdout]    |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `fuse_template`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 16 | use fuse3_template::mount::MountPoint;
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `fuse_template`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use fuse_template::{is_debug, mount};
[INFO] [stdout]    |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `fuse_template`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 17 | use fuse3_template::{is_debug, mount};
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `fuse_template`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use fuse_template::{is_debug, mount};
[INFO] [stdout]    |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `fuse_template`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 17 | use fuse3_template::{is_debug, mount};
[INFO] [stdout]    |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let mount_handle = mount_point.mount().await.map_err(|err| {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:206:24
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let mount_handle = mount_point.mount().await.map_err(|err| {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |                   let res = mount_handle_clone
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 226 | |                     .lock()
[INFO] [stdout] 227 | |                     .await
[INFO] [stdout]     | |__________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let res = mount_handle_clone
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |                 if res.is_err() {
[INFO] [stdout]     |                    --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `res` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let res: /* Type */ = mount_handle_clone
[INFO] [stdout]     |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:225:27
[INFO] [stdout]     |
[INFO] [stdout] 225 |                   let res = mount_handle_clone
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 226 | |                     .lock()
[INFO] [stdout] 227 | |                     .await
[INFO] [stdout]     | |__________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/main.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let res = mount_handle_clone
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |                 if res.is_err() {
[INFO] [stdout]     |                    --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `res` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let res: /* Type */ = mount_handle_clone
[INFO] [stdout]     |                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fuse3-template` (bin "fuse3-template" test) due to 5 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `fuse3-template` (bin "fuse3-template") due to 5 previous errors
[INFO] running `Command { std: "docker" "inspect" "4cbacf8f30d6cc04a75a235964bdcc9d4b89a554db25d41267fbb9c4e448426d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4cbacf8f30d6cc04a75a235964bdcc9d4b89a554db25d41267fbb9c4e448426d", kill_on_drop: false }`
[INFO] [stdout] 4cbacf8f30d6cc04a75a235964bdcc9d4b89a554db25d41267fbb9c4e448426d
