[INFO] fetching crate froggr 0.1.0...
[INFO] testing froggr-0.1.0 against beta-2025-09-21 for beta-1.91-2
[INFO] extracting crate froggr 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate froggr 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate froggr 0.1.0
[INFO] tweaked toml for crates.io crate froggr 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate froggr 0.1.0 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate froggr 0.1.0 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1ad68075420c086b6f3b9b3ff110b25605613a73da8eff7b1a4ce28076fce104
[INFO] running `Command { std: "docker" "start" "-a" "1ad68075420c086b6f3b9b3ff110b25605613a73da8eff7b1a4ce28076fce104", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ad68075420c086b6f3b9b3ff110b25605613a73da8eff7b1a4ce28076fce104", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ad68075420c086b6f3b9b3ff110b25605613a73da8eff7b1a4ce28076fce104", kill_on_drop: false }`
[INFO] [stdout] 1ad68075420c086b6f3b9b3ff110b25605613a73da8eff7b1a4ce28076fce104
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4021ac2e6a9e1737a6db64b28300c3478118473441dbb28a8760667dbea16d36
[INFO] running `Command { std: "docker" "start" "-a" "4021ac2e6a9e1737a6db64b28300c3478118473441dbb28a8760667dbea16d36", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling zerocopy v0.8.13
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling fuser v0.15.1
[INFO] [stderr]    Compiling anyhow v1.0.94
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling clap_builder v4.5.23
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling is-terminal v0.4.13
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling zerocopy-derive v0.8.13
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling clap v4.5.23
[INFO] [stderr]    Compiling froggr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/modules/mount.rs:99:31
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, _parent)) = queue.pop_front() {
[INFO] [stdout]    |                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INITIAL_INODE`
[INFO] [stdout]    |
[INFO] [stdout] 99 -         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout] 99 +         while let Some((path, modules::constants::INITIAL_INODE)) = queue.pop_front() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, _afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_GID`
[INFO] [stdout]     |
[INFO] [stdout] 200 -     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout] 200 +     pub fn auth(&mut self, uname: &str, aname: &str, modules::constants::DEFAULT_GID: u32) -> Result<Qid> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:215:40
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:215:59
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:215:72
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/modules/proto.rs:283:38
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/modules/proto.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mode: OpenFlags,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oldtag`
[INFO] [stdout]    --> src/modules/proto.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, _oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_PERMISSION`
[INFO] [stdout]     |
[INFO] [stdout] 545 -     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout] 545 +     pub fn flush(&mut self, modules::constants::DEFAULT_PERMISSION: u16) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectoryEntry` is never constructed
[INFO] [stdout]   --> src/modules/mount.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct DirectoryEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAPPEND` is never used
[INFO] [stdout]   --> src/modules/proto.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTEXCL` is never used
[INFO] [stdout]   --> src/modules/proto.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAUTH` is never used
[INFO] [stdout]   --> src/modules/proto.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/modules/mount.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.66s
[INFO] running `Command { std: "docker" "inspect" "4021ac2e6a9e1737a6db64b28300c3478118473441dbb28a8760667dbea16d36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4021ac2e6a9e1737a6db64b28300c3478118473441dbb28a8760667dbea16d36", kill_on_drop: false }`
[INFO] [stdout] 4021ac2e6a9e1737a6db64b28300c3478118473441dbb28a8760667dbea16d36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 32457aec2960e63e9ac009440b60abe00aae3abcc0aec6a16b046ca86aeb3825
[INFO] running `Command { std: "docker" "start" "-a" "32457aec2960e63e9ac009440b60abe00aae3abcc0aec6a16b046ca86aeb3825", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling tempfile v3.14.0
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.13
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tokio v1.42.0
[INFO] [stderr]    Compiling zerocopy v0.8.13
[INFO] [stderr]    Compiling clap v4.5.23
[INFO] [stderr]    Compiling fuser v0.15.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling froggr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/modules/mount.rs:99:31
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, _parent)) = queue.pop_front() {
[INFO] [stdout]    |                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INITIAL_INODE`
[INFO] [stdout]    |
[INFO] [stdout] 99 -         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout] 99 +         while let Some((path, modules::constants::INITIAL_INODE)) = queue.pop_front() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, _afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_GID`
[INFO] [stdout]     |
[INFO] [stdout] 200 -     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout] 200 +     pub fn auth(&mut self, uname: &str, aname: &str, modules::constants::DEFAULT_GID: u32) -> Result<Qid> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:215:40
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:215:59
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:215:72
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/modules/proto.rs:283:38
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/modules/proto.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mode: OpenFlags,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oldtag`
[INFO] [stdout]    --> src/modules/proto.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, _oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_PERMISSION`
[INFO] [stdout]     |
[INFO] [stdout] 545 -     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout] 545 +     pub fn flush(&mut self, modules::constants::DEFAULT_PERMISSION: u16) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectoryEntry` is never constructed
[INFO] [stdout]   --> src/modules/mount.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct DirectoryEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAPPEND` is never used
[INFO] [stdout]   --> src/modules/proto.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTEXCL` is never used
[INFO] [stdout]   --> src/modules/proto.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAUTH` is never used
[INFO] [stdout]   --> src/modules/proto.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/modules/mount.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/modules/mount.rs:99:31
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 99 |         while let Some((path, _parent)) = queue.pop_front() {
[INFO] [stdout]    |                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `INITIAL_INODE`
[INFO] [stdout]    |
[INFO] [stdout] 99 -         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stdout] 99 +         while let Some((path, modules::constants::INITIAL_INODE)) = queue.pop_front() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:200:28
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, _afid: u32) -> Result<Qid> {
[INFO] [stdout]     |                                                      +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_GID`
[INFO] [stdout]     |
[INFO] [stdout] 200 -     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stdout] 200 +     pub fn auth(&mut self, uname: &str, aname: &str, modules::constants::DEFAULT_GID: u32) -> Result<Qid> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `afid`
[INFO] [stdout]    --> src/modules/proto.rs:215:40
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uname`
[INFO] [stdout]    --> src/modules/proto.rs:215:59
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aname`
[INFO] [stdout]    --> src/modules/proto.rs:215:72
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/modules/proto.rs:283:38
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/modules/proto.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mode: OpenFlags,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/modules/proto.rs:523:13
[INFO] [stdout]     |
[INFO] [stdout] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oldtag`
[INFO] [stdout]    --> src/modules/proto.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 545 |     pub fn flush(&mut self, _oldtag: u16) -> Result<()> {
[INFO] [stdout]     |                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_PERMISSION`
[INFO] [stdout]     |
[INFO] [stdout] 545 -     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stdout] 545 +     pub fn flush(&mut self, modules::constants::DEFAULT_PERMISSION: u16) -> Result<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectoryEntry` is never constructed
[INFO] [stdout]   --> src/modules/mount.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct DirectoryEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_test_manager` is never used
[INFO] [stdout]    --> src/modules/mount.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 |     fn setup_test_manager() -> (TempDir, FilesystemManager) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_temp_dir_with_files` is never used
[INFO] [stdout]    --> src/modules/mount.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 |     fn create_temp_dir_with_files(parent: &Path) -> Result<TempDir> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAPPEND` is never used
[INFO] [stdout]   --> src/modules/proto.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTEXCL` is never used
[INFO] [stdout]   --> src/modules/proto.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QTAUTH` is never used
[INFO] [stdout]   --> src/modules/proto.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/modules/mount.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.41s
[INFO] running `Command { std: "docker" "inspect" "32457aec2960e63e9ac009440b60abe00aae3abcc0aec6a16b046ca86aeb3825", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32457aec2960e63e9ac009440b60abe00aae3abcc0aec6a16b046ca86aeb3825", kill_on_drop: false }`
[INFO] [stdout] 32457aec2960e63e9ac009440b60abe00aae3abcc0aec6a16b046ca86aeb3825
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 68a49e3a532ac92a149bddc85de80eebb0df70e65fd5489b88062c3d963dab88
[INFO] running `Command { std: "docker" "start" "-a" "68a49e3a532ac92a149bddc85de80eebb0df70e65fd5489b88062c3d963dab88", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `parent`
[INFO] [stderr]   --> src/modules/mount.rs:99:31
[INFO] [stderr]    |
[INFO] [stderr] 99 |         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stderr]    |                               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 99 |         while let Some((path, _parent)) = queue.pop_front() {
[INFO] [stderr]    |                               +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `INITIAL_INODE`
[INFO] [stderr]    |
[INFO] [stderr] 99 -         while let Some((path, parent)) = queue.pop_front() {
[INFO] [stderr] 99 +         while let Some((path, modules::constants::INITIAL_INODE)) = queue.pop_front() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `uname`
[INFO] [stderr]    --> src/modules/proto.rs:200:28
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stderr]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aname`
[INFO] [stderr]    --> src/modules/proto.rs:200:41
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stderr]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `afid`
[INFO] [stderr]    --> src/modules/proto.rs:200:54
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stderr]     |                                                      ^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 200 |     pub fn auth(&mut self, uname: &str, aname: &str, _afid: u32) -> Result<Qid> {
[INFO] [stderr]     |                                                      +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_GID`
[INFO] [stderr]     |
[INFO] [stderr] 200 -     pub fn auth(&mut self, uname: &str, aname: &str, afid: u32) -> Result<Qid> {
[INFO] [stderr] 200 +     pub fn auth(&mut self, uname: &str, aname: &str, modules::constants::DEFAULT_GID: u32) -> Result<Qid> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `afid`
[INFO] [stderr]    --> src/modules/proto.rs:215:40
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stderr]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_afid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `uname`
[INFO] [stderr]    --> src/modules/proto.rs:215:59
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stderr]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_uname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `aname`
[INFO] [stderr]    --> src/modules/proto.rs:215:72
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn attach(&mut self, fid: u32, afid: Option<u32>, uname: &str, aname: &str) -> Result<Qid> {
[INFO] [stderr]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_aname`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flags`
[INFO] [stderr]    --> src/modules/proto.rs:283:38
[INFO] [stderr]     |
[INFO] [stderr] 283 |     pub fn open(&mut self, fid: u32, flags: OpenFlags) -> Result<(Qid, u32)> {
[INFO] [stderr]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mode`
[INFO] [stderr]    --> src/modules/proto.rs:315:9
[INFO] [stderr]     |
[INFO] [stderr] 315 |         mode: OpenFlags,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/modules/proto.rs:375:13
[INFO] [stderr]     |
[INFO] [stderr] 375 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/modules/proto.rs:401:13
[INFO] [stderr]     |
[INFO] [stderr] 401 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/modules/proto.rs:523:13
[INFO] [stderr]     |
[INFO] [stderr] 523 |         let path = fids.get(&fid).ok_or_else(|| anyhow!("Invalid fid"))?;
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `oldtag`
[INFO] [stderr]    --> src/modules/proto.rs:545:29
[INFO] [stderr]     |
[INFO] [stderr] 545 |     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stderr]     |                             ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 545 |     pub fn flush(&mut self, _oldtag: u16) -> Result<()> {
[INFO] [stderr]     |                             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_PERMISSION`
[INFO] [stderr]     |
[INFO] [stderr] 545 -     pub fn flush(&mut self, oldtag: u16) -> Result<()> {
[INFO] [stderr] 545 +     pub fn flush(&mut self, modules::constants::DEFAULT_PERMISSION: u16) -> Result<()> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DirectoryEntry` is never constructed
[INFO] [stderr]   --> src/modules/mount.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 39 | struct DirectoryEntry {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QTAPPEND` is never used
[INFO] [stderr]   --> src/modules/proto.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const QTAPPEND: u8 = 0x40;
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QTEXCL` is never used
[INFO] [stderr]   --> src/modules/proto.rs:23:7
[INFO] [stderr]    |
[INFO] [stderr] 23 | const QTEXCL: u8 = 0x20;
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QTAUTH` is never used
[INFO] [stderr]   --> src/modules/proto.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 | const QTAUTH: u8 = 0x08;
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/modules/mount.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn umount(path: *const i8) -> i32;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:3:9
[INFO] [stderr]    |
[INFO] [stderr]  3 | #![deny(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `froggr` (lib) generated 18 warnings (run `cargo fix --lib -p froggr` to apply 3 suggestions)
[INFO] [stderr] warning: function `setup_test_manager` is never used
[INFO] [stderr]    --> src/modules/mount.rs:425:8
[INFO] [stderr]     |
[INFO] [stderr] 425 |     fn setup_test_manager() -> (TempDir, FilesystemManager) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_temp_dir_with_files` is never used
[INFO] [stderr]    --> src/modules/mount.rs:432:8
[INFO] [stderr]     |
[INFO] [stderr] 432 |     fn create_temp_dir_with_files(parent: &Path) -> Result<TempDir> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `froggr` (lib test) generated 20 warnings (18 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/froggr-e25333169f616dae)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test modules::namespace::tests::test_list_namespace ... ok
[INFO] [stdout] test modules::proto::tests::test_create_filesystem ... ok
[INFO] [stdout] test modules::proto::tests::test_directory_listing ... ok
[INFO] [stdout] test modules::namespace::tests::test_namespace_manager_creation ... ok
[INFO] [stdout] test modules::proto::tests::test_empty_file ... ok
[INFO] [stdout] test modules::proto::tests::test_file_attributes ... ok
[INFO] [stdout] test modules::proto::tests::test_file_content ... ok
[INFO] [stdout] test modules::proto::tests::test_root_directory_attributes ... ok
[INFO] [stdout] test modules::proto::tests::test_file_lookup ... ok
[INFO] [stdout] test modules::namespace::tests::test_bind_modes has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "68a49e3a532ac92a149bddc85de80eebb0df70e65fd5489b88062c3d963dab88", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68a49e3a532ac92a149bddc85de80eebb0df70e65fd5489b88062c3d963dab88", kill_on_drop: false }`
[INFO] [stdout] 68a49e3a532ac92a149bddc85de80eebb0df70e65fd5489b88062c3d963dab88
