[INFO] cloning repository https://github.com/J-Cake/redox-builder
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/J-Cake/redox-builder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ-Cake%2Fredox-builder", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ-Cake%2Fredox-builder'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1801d72ca620e632778e4953a3463f92ba947c76
[INFO] building J-Cake/redox-builder against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ-Cake%2Fredox-builder" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/J-Cake/redox-builder
[INFO] finished tweaking git repo https://github.com/J-Cake/redox-builder
[INFO] tweaked toml for git repo https://github.com/J-Cake/redox-builder written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/J-Cake/redox-builder on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/pop-os/libparted.git`
[INFO] [stderr]     Updating git repository `https://gitlab.redox-os.org/redox-os/redoxfs.git`
[INFO] [stderr]      Locking 179 packages to latest compatible versions
[INFO] [stderr]       Adding convert_case v0.6.0 (available: v0.8.0)
[INFO] [stderr]       Adding fuser v0.14.0 (available: v0.16.0)
[INFO] [stderr]       Adding toml v0.8.23 (available: v0.9.7)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded xts-mode v0.5.1
[INFO] [stderr]   Downloaded libredox v0.1.10
[INFO] [stderr]   Downloaded redox-path v0.3.1
[INFO] [stderr]   Downloaded redox_termios v0.1.3
[INFO] [stderr]   Downloaded deranged v0.5.4
[INFO] [stderr]   Downloaded redox-scheme v0.7.0
[INFO] [stderr]   Downloaded termion v4.0.5
[INFO] [stderr]   Downloaded bufreaderwriter v0.2.4
[INFO] [stderr]   Downloaded libloading v0.8.9
[INFO] [stderr]   Downloaded lz4_flex v0.11.5
[INFO] [stderr]   Downloaded time v0.3.44
[INFO] [stderr]   Downloaded argon2 v0.4.1
[INFO] [stderr]   Downloaded libparted-sys v0.3.2
[INFO] [stderr]   Downloaded endian-num v0.1.2
[INFO] [stderr]   Downloaded bindgen v0.65.1
[INFO] [stderr]   Downloaded fuser v0.14.0
[INFO] [stderr]   Downloaded page_size v0.6.0
[INFO] [stderr]   Downloaded range-tree v0.1.0
[INFO] [stderr]   Downloaded numtoa v0.2.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e449c7b00680f087b98dea715d99f791960a6de823a5adf48b44042a23694406
[INFO] running `Command { std: "docker" "start" "-a" "e449c7b00680f087b98dea715d99f791960a6de823a5adf48b44042a23694406", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e449c7b00680f087b98dea715d99f791960a6de823a5adf48b44042a23694406", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e449c7b00680f087b98dea715d99f791960a6de823a5adf48b44042a23694406", kill_on_drop: false }`
[INFO] [stdout] e449c7b00680f087b98dea715d99f791960a6de823a5adf48b44042a23694406
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c75d2eba23778edab34497004d56793fd9b74737d2692fc9880ad8fad8f3338
[INFO] running `Command { std: "docker" "start" "-a" "8c75d2eba23778edab34497004d56793fd9b74737d2692fc9880ad8fad8f3338", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling anstyle v1.0.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bindgen v0.65.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling redox_syscall v0.5.17
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling fuser v0.14.0
[INFO] [stderr]    Compiling clap_builder v4.5.48
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling regex-automata v0.4.11
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling deranged v0.5.4
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling libredox v0.1.10
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling numtoa v0.2.4
[INFO] [stderr]    Compiling jiff v0.2.15
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling base64ct v1.8.0
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling redox-scheme v0.7.0
[INFO] [stderr]    Compiling termion v4.0.5
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling argon2 v0.4.1
[INFO] [stderr]    Compiling xts-mode v0.5.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling redox-path v0.3.1
[INFO] [stderr]    Compiling range-tree v0.1.0
[INFO] [stderr]    Compiling endian-num v0.1.2
[INFO] [stderr]    Compiling lz4_flex v0.11.5
[INFO] [stderr]    Compiling bufreaderwriter v0.2.4
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling regex v1.11.3
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling clap v4.5.48
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling redoxfs v0.8.0 (https://gitlab.redox-os.org/redox-os/redoxfs.git#84288a2f)
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling libparted-sys v0.3.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hub v0.1.0 (/opt/rustwide/workdir/hub)
[INFO] [stdout] warning: struct `Status` is never constructed
[INFO] [stdout]   --> hub/src/reporter.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Status {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatusLevel` is never used
[INFO] [stdout]   --> hub/src/reporter.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | enum StatusLevel {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `report_mode`, `sender`, and `receiver` are never read
[INFO] [stdout]   --> hub/src/reporter.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Reporter {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 32 |     report_mode: ReportMode,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     sender: crossbeam::channel::Sender<StatusUpdate>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     receiver: crossbeam::channel::Receiver<StatusUpdate>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Reporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling checkout v0.1.0 (/opt/rustwide/workdir/checkout)
[INFO] [stderr]    Compiling libparted v0.1.5 (https://github.com/pop-os/libparted.git#518f85ec)
[INFO] [stderr]    Compiling img v0.1.0 (/opt/rustwide/workdir/img)
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> img/src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::CString;
[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::fs::File`
[INFO] [stdout]  --> img/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::prelude::OsStrExt`
[INFO] [stdout]  --> img/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::os::unix::prelude::OsStrExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> img/src/lib.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackgroundSession` and `spawn_mount2`
[INFO] [stdout]   --> img/src/lib.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use fuser::{BackgroundSession, mount2, MountOption, spawn_mount2};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]   --> img/src/lib.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 | use log::{debug, error, info, warn};
[INFO] [stdout]    |                         ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> img/src/fuse.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{ErrorKind, Read, Seek, SeekFrom, Write};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackgroundSession`, `MountOption`, `ReplyIoctl`, `ReplyStatfs`, and `mount2`
[INFO] [stdout]  --> img/src/fuse.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use fuser::{BackgroundSession, KernelConfig, mount2, MountOption, ReplyData, ReplyEmpty, ReplyIoctl, ReplyOpen, ReplyStatfs, ReplyWrite};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^                ^^^^^^  ^^^^^^^^^^^                         ^^^^^^^^^^             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fuser::spawn_mount2`
[INFO] [stdout]   --> img/src/fuse.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use fuser::spawn_mount2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Partition`
[INFO] [stdout]   --> img/src/fuse.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | use libparted::{Device, Disk, Partition};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `trace`
[INFO] [stdout]   --> img/src/fuse.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, error, info, trace};
[INFO] [stdout]    |                  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> img/src/qemu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> img/src/qemu.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> img/src/mnt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::DiskManager`
[INFO] [stdout]   --> img/src/fuse.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::DiskManager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> img/src/fuse.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let mut disk = Disk::new(&mut dev)?;
[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: `config`
[INFO] [stdout]    --> img/src/fuse.rs:279:40
[INFO] [stdout]     |
[INFO] [stdout] 279 |         &mut self, _req: &Request<'_>, config: &mut KernelConfig,
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> img/src/fuse.rs:302:59
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn getattr(&mut self, _req: &Request<'_>, inode: u64, mut reply: ReplyAttr) {
[INFO] [stdout]     |                                                           ----^^^^^
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> img/src/fuse.rs:321:86
[INFO] [stdout]     |
[INFO] [stdout] 321 |         &mut self, _req: &Request<'_>, inode: u64, _fh: u64, offset: i64, size: u32, flags: i32,
[INFO] [stdout]     |                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock_owner`
[INFO] [stdout]    --> img/src/fuse.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         lock_owner: Option<u64>, reply: ReplyData,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lock_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fh`
[INFO] [stdout]    --> img/src/fuse.rs:339:52
[INFO] [stdout]     |
[INFO] [stdout] 339 |         &mut self, _req: &Request<'_>, inode: u64, fh: u64, offset: i64, data: &[u8],
[INFO] [stdout]     |                                                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 339 |         &mut self, _req: &Request<'_>, inode: u64, _fh: u64, offset: i64, data: &[u8],
[INFO] [stdout]     |                                                    +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 339 -         &mut self, _req: &Request<'_>, inode: u64, fh: u64, offset: i64, data: &[u8],
[INFO] [stdout] 339 +         &mut self, _req: &Request<'_>, inode: u64, fuse::MAX_BLOCK_SIZE: u64, offset: i64, data: &[u8],
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write_flags`
[INFO] [stdout]    --> img/src/fuse.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |         write_flags: u32, flags: i32, lock_owner: Option<u64>, reply: ReplyWrite,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> img/src/fuse.rs:340:27
[INFO] [stdout]     |
[INFO] [stdout] 340 |         write_flags: u32, flags: i32, lock_owner: Option<u64>, reply: ReplyWrite,
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock_owner`
[INFO] [stdout]    --> img/src/fuse.rs:340:39
[INFO] [stdout]     |
[INFO] [stdout] 340 |         write_flags: u32, flags: i32, lock_owner: Option<u64>, reply: ReplyWrite,
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lock_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ino`
[INFO] [stdout]    --> img/src/fuse.rs:356:45
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, _ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 356 -     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout] 356 +     fn flush(&mut self, _req: &Request<'_>, fuse::MAX_BLOCK_SIZE: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fh`
[INFO] [stdout]    --> img/src/fuse.rs:356:55
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, _fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 356 -     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout] 356 +     fn flush(&mut self, _req: &Request<'_>, ino: u64, fuse::MAX_BLOCK_SIZE: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock_owner`
[INFO] [stdout]    --> img/src/fuse.rs:356:64
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, _lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 356 -     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout] 356 +     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, fuse::MAX_BLOCK_SIZE: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]   --> img/src/qemu.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let (mut sender, receiver) = std::sync::mpsc::channel();
[INFO] [stdout]    |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> img/src/qemu.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let (mut sender, receiver) = std::sync::mpsc::channel();
[INFO] [stdout]    |              ----^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> img/src/mnt.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |   ...   if let out = Command::new("fusefat")
[INFO] [stdout]    |  __________^
[INFO] [stdout] 27 | | ...       .args(["-o", "rw+"]) // fusefat is not officially stable and warns strongly against RW as errors might occur. This suppresses t...
[INFO] [stdout] 28 | | ...       .arg(&source)
[INFO] [stdout] 29 | | ...       .arg(&mount)
[INFO] [stdout] 30 | | ...       .spawn()?
[INFO] [stdout] 31 | | ...       .wait_with_output()? {
[INFO] [stdout]    | |______________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> img/src/mnt.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut files = vec![];
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mnt`
[INFO] [stdout]    --> img/src/lib.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mnt = std::thread::spawn(move || mount2(pfs, paths.partitions(), &opt).expect("Failed to mount PartFS"));
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_mnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `paths` and `mount_time` are never read
[INFO] [stdout]   --> img/src/fuse.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) struct PartitionFS {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 40 |     paths: Arc<PathManager>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     mount_time: SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]   --> img/src/fuse.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct DirItem {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 95 |     parent: Option<u64>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> img/src/fuse.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Partition {
[INFO] [stdout]     |     --------- field in this variant
[INFO] [stdout] 109 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FsNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_inode` is never used
[INFO] [stdout]    --> img/src/fuse.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl DirItem {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn contains_inode(&self, inode: u64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `partitions` is never read
[INFO] [stdout]   --> img/src/mnt.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MountHandle {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 58 |     partitions: Vec<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unmount_all` is never used
[INFO] [stdout]   --> img/src/mnt.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl MountHandle {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 62 |     fn unmount_all(self) -> hub::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling build v0.1.0 (/opt/rustwide/workdir/build)
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> build/src/builder.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::Command;
[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: `rayon::prelude::IntoParallelRefIterator`
[INFO] [stdout]  --> build/src/builder.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rayon::prelude::IntoParallelRefIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hub::config::BuildMode`
[INFO] [stdout]  --> build/src/builder.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use hub::config::BuildMode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BuildStatus`
[INFO] [stdout]   --> build/src/builder.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{BuildStatus, DependencyTree};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> build/src/cx.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::env::current_dir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Formatter`
[INFO] [stdout]  --> build/src/cx.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> build/src/cx.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hub::config::ImageFormat`
[INFO] [stdout]   --> build/src/cx.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use hub::config::ImageFormat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resolved_dependencies`
[INFO] [stdout]   --> build/src/builder.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     resolved_dependencies: HashMap<String, Arc<RwLock<DependencyTree>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolved_dependencies`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> build/src/cx.rs:66:91
[INFO] [stdout]    |
[INFO] [stdout] 66 | ..., Arc::clone(&path))?).map_err(|err| Error::from(BuildError::FailedToCreateImage))?;
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> build/src/cx.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut cell = OnceCell::new();
[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: `cx`
[INFO] [stdout]   --> build/src/lib.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut cx = mk_context(Arc::clone(&config), Arc::clone(&path))?;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]   --> build/src/lib.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let items = config
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clean`
[INFO] [stdout]   --> build/src/lib.rs:58:27
[INFO] [stdout]    |
[INFO] [stdout] 58 |     config_path: PathBuf, clean: bool, build_dir: Option<RequestedBuildDir>,
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_clean`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> build/src/lib.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut cx = mk_context(Arc::clone(&config), Arc::clone(&path))?;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling redox-build v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s
[INFO] running `Command { std: "docker" "inspect" "8c75d2eba23778edab34497004d56793fd9b74737d2692fc9880ad8fad8f3338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c75d2eba23778edab34497004d56793fd9b74737d2692fc9880ad8fad8f3338", kill_on_drop: false }`
[INFO] [stdout] 8c75d2eba23778edab34497004d56793fd9b74737d2692fc9880ad8fad8f3338
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 16917c0002a13b29dc2948b8eeb3692bd4b6cf807b47090c966f69f1cbf26683
[INFO] running `Command { std: "docker" "start" "-a" "16917c0002a13b29dc2948b8eeb3692bd4b6cf807b47090c966f69f1cbf26683", kill_on_drop: false }`
[INFO] [stdout] warning: struct `Status` is never constructed
[INFO] [stdout]   --> hub/src/reporter.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Status {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatusLevel` is never used
[INFO] [stdout]   --> hub/src/reporter.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | enum StatusLevel {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `report_mode`, `sender`, and `receiver` are never read
[INFO] [stdout]   --> hub/src/reporter.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Reporter {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 32 |     report_mode: ReportMode,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     sender: crossbeam::channel::Sender<StatusUpdate>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 34 |     receiver: crossbeam::channel::Receiver<StatusUpdate>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Reporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> img/src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::CString;
[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::fs::File`
[INFO] [stdout]  --> img/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::prelude::OsStrExt`
[INFO] [stdout]  --> img/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::os::unix::prelude::OsStrExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> img/src/lib.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackgroundSession` and `spawn_mount2`
[INFO] [stdout]   --> img/src/lib.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use fuser::{BackgroundSession, mount2, MountOption, spawn_mount2};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]   --> img/src/lib.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 | use log::{debug, error, info, warn};
[INFO] [stdout]    |                         ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> img/src/fuse.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{ErrorKind, Read, Seek, SeekFrom, Write};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackgroundSession`, `MountOption`, `ReplyIoctl`, `ReplyStatfs`, and `mount2`
[INFO] [stdout]  --> img/src/fuse.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use fuser::{BackgroundSession, KernelConfig, mount2, MountOption, ReplyData, ReplyEmpty, ReplyIoctl, ReplyOpen, ReplyStatfs, ReplyWrite};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^                ^^^^^^  ^^^^^^^^^^^                         ^^^^^^^^^^             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fuser::spawn_mount2`
[INFO] [stdout]   --> img/src/fuse.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use fuser::spawn_mount2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Partition`
[INFO] [stdout]   --> img/src/fuse.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | use libparted::{Device, Disk, Partition};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `trace`
[INFO] [stdout]   --> img/src/fuse.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | use log::{debug, error, info, trace};
[INFO] [stdout]    |                  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> img/src/qemu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> img/src/qemu.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> img/src/mnt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::DiskManager`
[INFO] [stdout]   --> img/src/fuse.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::DiskManager;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> img/src/fuse.rs:173:17
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let mut disk = Disk::new(&mut dev)?;
[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: `config`
[INFO] [stdout]    --> img/src/fuse.rs:279:40
[INFO] [stdout]     |
[INFO] [stdout] 279 |         &mut self, _req: &Request<'_>, config: &mut KernelConfig,
[INFO] [stdout]     |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> img/src/fuse.rs:302:59
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn getattr(&mut self, _req: &Request<'_>, inode: u64, mut reply: ReplyAttr) {
[INFO] [stdout]     |                                                           ----^^^^^
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> img/src/fuse.rs:321:86
[INFO] [stdout]     |
[INFO] [stdout] 321 |         &mut self, _req: &Request<'_>, inode: u64, _fh: u64, offset: i64, size: u32, flags: i32,
[INFO] [stdout]     |                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock_owner`
[INFO] [stdout]    --> img/src/fuse.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         lock_owner: Option<u64>, reply: ReplyData,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lock_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fh`
[INFO] [stdout]    --> img/src/fuse.rs:339:52
[INFO] [stdout]     |
[INFO] [stdout] 339 |         &mut self, _req: &Request<'_>, inode: u64, fh: u64, offset: i64, data: &[u8],
[INFO] [stdout]     |                                                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 339 |         &mut self, _req: &Request<'_>, inode: u64, _fh: u64, offset: i64, data: &[u8],
[INFO] [stdout]     |                                                    +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 339 -         &mut self, _req: &Request<'_>, inode: u64, fh: u64, offset: i64, data: &[u8],
[INFO] [stdout] 339 +         &mut self, _req: &Request<'_>, inode: u64, fuse::MAX_BLOCK_SIZE: u64, offset: i64, data: &[u8],
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write_flags`
[INFO] [stdout]    --> img/src/fuse.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |         write_flags: u32, flags: i32, lock_owner: Option<u64>, reply: ReplyWrite,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> img/src/fuse.rs:340:27
[INFO] [stdout]     |
[INFO] [stdout] 340 |         write_flags: u32, flags: i32, lock_owner: Option<u64>, reply: ReplyWrite,
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock_owner`
[INFO] [stdout]    --> img/src/fuse.rs:340:39
[INFO] [stdout]     |
[INFO] [stdout] 340 |         write_flags: u32, flags: i32, lock_owner: Option<u64>, reply: ReplyWrite,
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lock_owner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ino`
[INFO] [stdout]    --> img/src/fuse.rs:356:45
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, _ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 356 -     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout] 356 +     fn flush(&mut self, _req: &Request<'_>, fuse::MAX_BLOCK_SIZE: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fh`
[INFO] [stdout]    --> img/src/fuse.rs:356:55
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, _fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 356 -     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout] 356 +     fn flush(&mut self, _req: &Request<'_>, ino: u64, fuse::MAX_BLOCK_SIZE: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock_owner`
[INFO] [stdout]    --> img/src/fuse.rs:356:64
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 356 |     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, _lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |                                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_BLOCK_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 356 -     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, lock_owner: u64, reply: ReplyEmpty) {
[INFO] [stdout] 356 +     fn flush(&mut self, _req: &Request<'_>, ino: u64, fh: u64, fuse::MAX_BLOCK_SIZE: u64, reply: ReplyEmpty) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]   --> img/src/qemu.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let (mut sender, receiver) = std::sync::mpsc::channel();
[INFO] [stdout]    |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> img/src/qemu.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let (mut sender, receiver) = std::sync::mpsc::channel();
[INFO] [stdout]    |              ----^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> img/src/mnt.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |   ...   if let out = Command::new("fusefat")
[INFO] [stdout]    |  __________^
[INFO] [stdout] 27 | | ...       .args(["-o", "rw+"]) // fusefat is not officially stable and warns strongly against RW as errors might occur. This suppresses t...
[INFO] [stdout] 28 | | ...       .arg(&source)
[INFO] [stdout] 29 | | ...       .arg(&mount)
[INFO] [stdout] 30 | | ...       .spawn()?
[INFO] [stdout] 31 | | ...       .wait_with_output()? {
[INFO] [stdout]    | |______________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> img/src/mnt.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut files = vec![];
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mnt`
[INFO] [stdout]    --> img/src/lib.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mnt = std::thread::spawn(move || mount2(pfs, paths.partitions(), &opt).expect("Failed to mount PartFS"));
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_mnt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `paths` and `mount_time` are never read
[INFO] [stdout]   --> img/src/fuse.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub(crate) struct PartitionFS {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 40 |     paths: Arc<PathManager>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     mount_time: SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]   --> img/src/fuse.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | struct DirItem {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 95 |     parent: Option<u64>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DirItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> img/src/fuse.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Partition {
[INFO] [stdout]     |     --------- field in this variant
[INFO] [stdout] 109 |         name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FsNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_inode` is never used
[INFO] [stdout]    --> img/src/fuse.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl DirItem {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn contains_inode(&self, inode: u64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `partitions` is never read
[INFO] [stdout]   --> img/src/mnt.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MountHandle {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 58 |     partitions: Vec<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unmount_all` is never used
[INFO] [stdout]   --> img/src/mnt.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl MountHandle {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 62 |     fn unmount_all(self) -> hub::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> build/src/builder.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::process::Command;
[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: `rayon::prelude::IntoParallelRefIterator`
[INFO] [stdout]  --> build/src/builder.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rayon::prelude::IntoParallelRefIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hub::config::BuildMode`
[INFO] [stdout]  --> build/src/builder.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use hub::config::BuildMode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BuildStatus`
[INFO] [stdout]   --> build/src/builder.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{BuildStatus, DependencyTree};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::current_dir`
[INFO] [stdout]  --> build/src/cx.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::env::current_dir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Debug` and `Formatter`
[INFO] [stdout]  --> build/src/cx.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Debug, Formatter};
[INFO] [stdout]   |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> build/src/cx.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hub::config::ImageFormat`
[INFO] [stdout]   --> build/src/cx.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use hub::config::ImageFormat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resolved_dependencies`
[INFO] [stdout]   --> build/src/builder.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     resolved_dependencies: HashMap<String, Arc<RwLock<DependencyTree>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolved_dependencies`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> build/src/cx.rs:66:91
[INFO] [stdout]    |
[INFO] [stdout] 66 | ..., Arc::clone(&path))?).map_err(|err| Error::from(BuildError::FailedToCreateImage))?;
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling redox-build v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> build/src/cx.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut cell = OnceCell::new();
[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: `cx`
[INFO] [stdout]   --> build/src/lib.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut cx = mk_context(Arc::clone(&config), Arc::clone(&path))?;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]   --> build/src/lib.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let items = config
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clean`
[INFO] [stdout]   --> build/src/lib.rs:58:27
[INFO] [stdout]    |
[INFO] [stdout] 58 |     config_path: PathBuf, clean: bool, build_dir: Option<RequestedBuildDir>,
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_clean`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> build/src/lib.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let mut cx = mk_context(Arc::clone(&config), Arc::clone(&path))?;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.34s
[INFO] running `Command { std: "docker" "inspect" "16917c0002a13b29dc2948b8eeb3692bd4b6cf807b47090c966f69f1cbf26683", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16917c0002a13b29dc2948b8eeb3692bd4b6cf807b47090c966f69f1cbf26683", kill_on_drop: false }`
[INFO] [stdout] 16917c0002a13b29dc2948b8eeb3692bd4b6cf807b47090c966f69f1cbf26683
