[INFO] cloning repository https://github.com/hahatianx/lumo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hahatianx/lumo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahatianx%2Flumo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahatianx%2Flumo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4a791b62fdd18add4a222899a8d0a2c15643ac2d
[INFO] testing hahatianx/lumo against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahatianx%2Flumo" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hahatianx/lumo
[INFO] finished tweaking git repo https://github.com/hahatianx/lumo
[INFO] tweaked toml for git repo https://github.com/hahatianx/lumo written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hahatianx/lumo on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hahatianx/lumo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust-embed-utils v8.9.0
[INFO] [stderr]   Downloaded rust-embed-impl v8.9.0
[INFO] [stderr]   Downloaded i18n-embed-fl v0.9.4
[INFO] [stderr]   Downloaded unic-langid v0.9.6
[INFO] [stderr]   Downloaded self_cell v0.10.3
[INFO] [stderr]   Downloaded age-core v0.11.0
[INFO] [stderr]   Downloaded i18n-config v0.4.8
[INFO] [stderr]   Downloaded intl-memoizer v0.5.3
[INFO] [stderr]   Downloaded intl_pluralrules v7.0.2
[INFO] [stderr]   Downloaded fluent-langneg v0.13.1
[INFO] [stderr]   Downloaded io_tee v0.1.1
[INFO] [stderr]   Downloaded cookie-factory v0.3.3
[INFO] [stderr]   Downloaded fluent-bundle v0.15.3
[INFO] [stderr]   Downloaded basic-toml v0.1.10
[INFO] [stderr]   Downloaded i18n-embed v0.15.4
[INFO] [stderr]   Downloaded unic-langid-impl v0.9.6
[INFO] [stderr]   Downloaded rand v0.10.0-rc.0
[INFO] [stderr]   Downloaded chacha20 v0.10.0-rc.2
[INFO] [stderr]   Downloaded self_cell v1.2.1
[INFO] [stderr]   Downloaded fluent-syntax v0.11.1
[INFO] [stderr]   Downloaded fluent v0.16.1
[INFO] [stderr]   Downloaded i18n-embed-impl v0.8.4
[INFO] [stderr]   Downloaded find-crate v0.6.3
[INFO] [stderr]   Downloaded rust-embed v8.9.0
[INFO] [stderr]   Downloaded age v0.11.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ffec99108348fe3b0a90026f485796c56d7e591b8b63be445e8b13d6fab36dc5
[INFO] running `Command { std: "docker" "start" "-a" "ffec99108348fe3b0a90026f485796c56d7e591b8b63be445e8b13d6fab36dc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ffec99108348fe3b0a90026f485796c56d7e591b8b63be445e8b13d6fab36dc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffec99108348fe3b0a90026f485796c56d7e591b8b63be445e8b13d6fab36dc5", kill_on_drop: false }`
[INFO] [stdout] ffec99108348fe3b0a90026f485796c56d7e591b8b63be445e8b13d6fab36dc5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab802ab44435c90abfb43c18d6a634214beb44eeb34b6d23da4a3f6efb0926c8
[INFO] running `Command { std: "docker" "start" "-a" "ab802ab44435c90abfb43c18d6a634214beb44eeb34b6d23da4a3f6efb0926c8", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling type-map v0.5.1
[INFO] [stderr]    Compiling self_cell v1.2.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling self_cell v0.10.3
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling rust-embed-utils v8.9.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling no-std-net v0.6.0
[INFO] [stderr]    Compiling io_tee v0.1.1
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling pnet_base v0.34.0
[INFO] [stderr]    Compiling chacha20 v0.10.0-rc.2
[INFO] [stderr]    Compiling inotify v0.11.0
[INFO] [stderr]    Compiling pnet_sys v0.34.0
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling rand v0.10.0-rc.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling rust-embed-impl v8.9.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling cli_handler v0.1.0 (/opt/rustwide/workdir/cli_handler)
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling rust-embed v8.9.0
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling scrypt v0.11.0
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling unic-langid-impl v0.9.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling fluent-syntax v0.11.1
[INFO] [stderr]    Compiling unic-langid v0.9.6
[INFO] [stderr]    Compiling intl-memoizer v0.5.3
[INFO] [stderr]    Compiling intl_pluralrules v7.0.2
[INFO] [stderr]    Compiling fluent-langneg v0.13.1
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling fluent-bundle v0.15.3
[INFO] [stderr]    Compiling fluent v0.16.1
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling notify-types v2.0.0
[INFO] [stderr]    Compiling ipnetwork v0.20.0
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling pnet_datalink v0.34.0
[INFO] [stderr]    Compiling i18n-config v0.4.8
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling api_model v0.1.0 (/opt/rustwide/workdir/api_model)
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stdout] warning: associated functions `to_utf8` and `parse_from_str` are never used
[INFO] [stdout]   --> api_model/src/protocol/token.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Token {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 22 |     #[inline]
[INFO] [stdout] 23 |     fn to_utf8(bytes: &[u8]) -> Result<&str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn parse_from_str<T>(s: &str, what: &str) -> Result<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling i18n-embed-impl v0.8.4
[INFO] [stderr]    Compiling i18n-embed v0.15.4
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             JobStatus::Running => xterm_color::bold("Running"),
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] 67 |             JobStatus::Completed => xterm_color::bold_green("Completed"),
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] 68 |             JobStatus::Failed => xterm_color::bold_red("Failed"),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] 69 |             JobStatus::TimedOut => xterm_color::bold_yellow("Timed out"),
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/error/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/error/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |             ClientError::ConnectionBindError(msg, _) => write!(f, "Connection bind error: {}", msg),
[INFO] [stdout]    |             ---------------------------------------- matches some of the same values
[INFO] [stdout] 19 |             ClientError::ConnectionTimeoutError(msg, _) => {
[INFO] [stdout]    |             ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 22 |             ClientError::ConnectionReceiverError(msg, _) => {
[INFO] [stdout]    |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 25 |             ClientError::ResponseParseError(msg, _) => write!(f, "Response parse error: {}", msg),
[INFO] [stdout]    |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/error/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/error/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             ClientError::ConnectionBindError(msg, trace) => {
[INFO] [stdout]    |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 39 |             ClientError::ConnectionTimeoutError(msg, trace) => {
[INFO] [stdout]    |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 42 |             ClientError::ConnectionReceiverError(msg, trace) => {
[INFO] [stdout]    |             ------------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 45 |             ClientError::ResponseParseError(msg, trace) => {
[INFO] [stdout]    |             ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cookie-factory v0.3.3
[INFO] [stdout] warning: variants `ConnectionTimeoutError` and `InternalError` are never constructed
[INFO] [stdout]   --> client/src/error/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum ClientError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  7 |     ConnectionTimeoutError(String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     InternalError(String, String),
[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 `idx` is never read
[INFO] [stdout]  --> client/src/format/table.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TableColumn {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |     pub(crate) idx: usize,
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> client/src/format/table.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TableColumn {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(idx: usize, name: &'static str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `N` is never used
[INFO] [stdout]   --> client/src/format/table.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait Schema {
[INFO] [stdout]    |           ------ associated constant in this trait
[INFO] [stdout] 16 |     const N: usize;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `green` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn green(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yellow` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn yellow(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blue` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn blue(text: &str) -> String {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling i18n-embed-fl v0.9.4
[INFO] [stderr]    Compiling age-core v0.11.0
[INFO] [stderr]    Compiling age v0.11.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[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: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` 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 `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` 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 `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_key` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_paths` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 30 -     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout] 30 +     fn open_lumo(&self, path: &VirtualPath) -> impl std::future::Future<Output = Result<LumoFile>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 35 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 38 |         passphrase: &str,
[INFO] [stdout] 39 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 41 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 44 |         passphrase: &str,
[INFO] [stdout] 45 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[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: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs_lock::RwLock`
[INFO] [stdout]  --> server/src/fs/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use fs_lock::RwLock;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LumoVfs`
[INFO] [stdout]   --> server/src/fs/mod.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use vfs_interface::{LumoVfs, VfsEncryption, VfsLock};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `private_key_location` and `public_key_location` are never read
[INFO] [stdout]   --> server/src/config/env_var.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct KeySpec {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 13 |     private_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     public_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeySpec` 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 `key_spec` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Identity {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     key_spec: KeySpec,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Identity` 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 `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` 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 `working_dir` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AppConfig {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     working_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_peer_expires_after_in_sec` and `get_working_dir` are never used
[INFO] [stdout]   --> server/src/config/env_var.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl AppConfig {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn update_peer_expires_after_in_sec(&mut self, new_value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_working_dir(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_temp_downloads_dir`, `get_private_key_location`, and `get_public_key_location` are never used
[INFO] [stdout]    --> server/src/config/env_var.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl EnvVar {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_temp_downloads_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_private_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_public_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_working_dir`, and `update_peer_expires_after_in_sec` are never used
[INFO] [stdout]   --> server/src/config/app_config.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SharedConfig {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(_env_var: &EnvVar) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub async fn get_working_dir(&self) -> String {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn update_peer_expires_after_in_sec(&self, new_value: u64) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` 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 `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shutdown_jobs` is never used
[INFO] [stdout]   --> server/src/core/tasks/mod.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub async fn shutdown_jobs() -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Shutdown` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum JobStatus {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_tx` is never read
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct JobSummary {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub shutdown_tx: Option<tokio::sync::oneshot::Sender<()>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_status`, `update_status_msg`, and `shutdown` are never used
[INFO] [stdout]    --> server/src/core/tasks/job_summary.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl JobSummary {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub async fn update_status(&mut self, new_status: JobStatus) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub async fn update_status_msg(&mut self, status_msg: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JobCallbackError` is never constructed
[INFO] [stdout]    --> server/src/core/tasks/jobs/job_genre/claimable_job.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum ClaimableJobTakeoverError {
[INFO] [stdout]     |          ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 171 |     JobCallbackError,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClaimableJobTakeoverError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_peer`, `promote_peer`, `refresh_peer`, and `disable_peer` are never used
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl PeerTable {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub async fn remove_peer(&self, peer: Peer) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn promote_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn refresh_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn disable_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `same_file` and `path` are never used
[INFO] [stdout]    --> server/src/fs/file.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl LumoFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn same_file(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn path(&self) -> &ActualFilePath {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `all` is never used
[INFO] [stdout]   --> server/src/fs/util.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl DirPermissions {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 57 |     /// Convenience: all permissions are granted.
[INFO] [stdout] 58 |     pub const fn all() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_join` is never used
[INFO] [stdout]    --> server/src/fs/util.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn secure_join<P: AsRef<Path>>(base: P, rel: &str) -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_active`, `set_stale`, `set_last_writer`, and `needs_rescan` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl FileEntry {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn set_active(&mut self, from_ver: u64, active: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn set_stale(&mut self, from_ver: u64, stale: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn set_last_writer(&mut self, from_ver: u64, writer: impl Into<String>) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn needs_rescan(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains_key` and `debug` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:373:18
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn len(&self) -> usize {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub async fn with_entry<T>(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub(crate) async fn candidates_by_size(&self, size: u64) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub(crate) async fn candidates_by_size_mtime(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub async fn candidates_for(&self, file: &LumoFile) -> Vec<VirtualPath> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` 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 `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_download_tasks.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PendingFileDownloadTask {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PendingPull {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `basename` and `dirname` are never used
[INFO] [stdout]   --> server/src/fs/vfs/virtual_file.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl VirtualFilePath {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn basename(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn dirname(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VfsEncryption` is never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait VfsEncryption {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TempFile` is never used
[INFO] [stdout]  --> server/src/fs/virtual_file_system.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type TempFile = TempFilePath;
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `spawn_per_request` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl NetworkSender {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn spawn_per_request(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_once` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | async fn send_once(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_addr` and `shutdown` are never used
[INFO] [stdout]    --> server/src/network/tcp_sender.rs:91:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl TcpConn {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub async fn shutdown(mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identity_from_password` is never used
[INFO] [stdout]    --> server/src/utilities/crypto.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(crate) fn identity_from_password(password: &str, salt: &str) -> Result<age::x25519::Identity> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmpDirGuard` is never constructed
[INFO] [stdout]  --> server/src/utilities/temp_dir.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TmpDirGuard(pub PathBuf);
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/utilities/temp_dir.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl TmpDirGuard {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "ab802ab44435c90abfb43c18d6a634214beb44eeb34b6d23da4a3f6efb0926c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab802ab44435c90abfb43c18d6a634214beb44eeb34b6d23da4a3f6efb0926c8", kill_on_drop: false }`
[INFO] [stdout] ab802ab44435c90abfb43c18d6a634214beb44eeb34b6d23da4a3f6efb0926c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 442055fe0743ad6aabf0cc3e194cc9eaba3f9769c2363cb131ca66b747a4c688
[INFO] running `Command { std: "docker" "start" "-a" "442055fe0743ad6aabf0cc3e194cc9eaba3f9769c2363cb131ca66b747a4c688", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cli_handler v0.1.0 (/opt/rustwide/workdir/cli_handler)
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling api_model v0.1.0 (/opt/rustwide/workdir/api_model)
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling serial_test v3.2.0
[INFO] [stdout] warning: associated functions `to_utf8` and `parse_from_str` are never used
[INFO] [stdout]   --> api_model/src/protocol/token.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Token {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 22 |     #[inline]
[INFO] [stdout] 23 |     fn to_utf8(bytes: &[u8]) -> Result<&str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn parse_from_str<T>(s: &str, what: &str) -> Result<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `to_utf8` and `parse_from_str` are never used
[INFO] [stdout]   --> api_model/src/protocol/token.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Token {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 22 |     #[inline]
[INFO] [stdout] 23 |     fn to_utf8(bytes: &[u8]) -> Result<&str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn parse_from_str<T>(s: &str, what: &str) -> Result<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             JobStatus::Running => xterm_color::bold("Running"),
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] 67 |             JobStatus::Completed => xterm_color::bold_green("Completed"),
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] 68 |             JobStatus::Failed => xterm_color::bold_red("Failed"),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] 69 |             JobStatus::TimedOut => xterm_color::bold_yellow("Timed out"),
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/error/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/error/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |             ClientError::ConnectionBindError(msg, _) => write!(f, "Connection bind error: {}", msg),
[INFO] [stdout]    |             ---------------------------------------- matches some of the same values
[INFO] [stdout] 19 |             ClientError::ConnectionTimeoutError(msg, _) => {
[INFO] [stdout]    |             ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 22 |             ClientError::ConnectionReceiverError(msg, _) => {
[INFO] [stdout]    |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 25 |             ClientError::ResponseParseError(msg, _) => write!(f, "Response parse error: {}", msg),
[INFO] [stdout]    |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/error/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/error/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             ClientError::ConnectionBindError(msg, trace) => {
[INFO] [stdout]    |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 39 |             ClientError::ConnectionTimeoutError(msg, trace) => {
[INFO] [stdout]    |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 42 |             ClientError::ConnectionReceiverError(msg, trace) => {
[INFO] [stdout]    |             ------------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 45 |             ClientError::ResponseParseError(msg, trace) => {
[INFO] [stdout]    |             ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ConnectionTimeoutError` and `InternalError` are never constructed
[INFO] [stdout]   --> client/src/error/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum ClientError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  7 |     ConnectionTimeoutError(String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     InternalError(String, String),
[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 `idx` is never read
[INFO] [stdout]  --> client/src/format/table.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TableColumn {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |     pub(crate) idx: usize,
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> client/src/format/table.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TableColumn {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(idx: usize, name: &'static str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `N` is never used
[INFO] [stdout]   --> client/src/format/table.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait Schema {
[INFO] [stdout]    |           ------ associated constant in this trait
[INFO] [stdout] 16 |     const N: usize;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `green` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn green(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yellow` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn yellow(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blue` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn blue(text: &str) -> String {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling age-core v0.11.0
[INFO] [stderr]    Compiling age v0.11.1
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[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: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` 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 `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` 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 `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_key` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_paths` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 30 -     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout] 30 +     fn open_lumo(&self, path: &VirtualPath) -> impl std::future::Future<Output = Result<LumoFile>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 35 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 38 |         passphrase: &str,
[INFO] [stdout] 39 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 41 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 44 |         passphrase: &str,
[INFO] [stdout] 45 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[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: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]    --> server/src/core/tasks/task_queue.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> server/src/fs/util.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utilities::temp_dir::TmpDirGuard`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use crate::utilities::temp_dir::TmpDirGuard;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     use std::fs;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> server/src/utilities/logger.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | /             return LOGGER_CELL
[INFO] [stdout] 216 | |                 .get()
[INFO] [stdout] 217 | |                 .expect("LOGGER_CELL should be set by test fallback");
[INFO] [stdout]     | |_____________________________________________________________________- any code following this expression is unreachable
[INFO] [stdout] 218 |           }
[INFO] [stdout] 219 |           LOGGER_CELL.get().expect("LOGGER_CELL should be set")
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |     use tokio::io::AsyncReadExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[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: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]    --> server/src/core/tasks/task_queue.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> server/src/fs/util.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs_lock::RwLock`
[INFO] [stdout]  --> server/src/fs/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use fs_lock::RwLock;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utilities::temp_dir::TmpDirGuard`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use crate::utilities::temp_dir::TmpDirGuard;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     use std::fs;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LumoVfs`
[INFO] [stdout]   --> server/src/fs/mod.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use vfs_interface::{LumoVfs, VfsEncryption, VfsLock};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[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: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs_lock::RwLock`
[INFO] [stdout]  --> server/src/fs/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use fs_lock::RwLock;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LumoVfs`
[INFO] [stdout]   --> server/src/fs/mod.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use vfs_interface::{LumoVfs, VfsEncryption, VfsLock};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut p1 = Peer::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: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut p2 = Peer::new(
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut p = Peer::new(
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lf`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1381:13
[INFO] [stdout]      |
[INFO] [stdout] 1381 |         let lf = LumoFile::new(&vfs, &vp).await.unwrap();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_lf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let mut handle = tokio::spawn({
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` 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 `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_key` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` 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 `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` 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 `path` is never used
[INFO] [stdout]    --> server/src/utilities/logger.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 254 |     impl TempFileGuard {
[INFO] [stdout]     |     ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |         fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 30 -     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout] 30 +     fn open_lumo(&self, path: &VirtualPath) -> impl std::future::Future<Output = Result<LumoFile>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 35 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 38 |         passphrase: &str,
[INFO] [stdout] 39 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 41 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 44 |         passphrase: &str,
[INFO] [stdout] 45 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> server/src/utilities/logger.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | /             return LOGGER_CELL
[INFO] [stdout] 216 | |                 .get()
[INFO] [stdout] 217 | |                 .expect("LOGGER_CELL should be set by test fallback");
[INFO] [stdout]     | |_____________________________________________________________________- any code following this expression is unreachable
[INFO] [stdout] 218 |           }
[INFO] [stdout] 219 |           LOGGER_CELL.get().expect("LOGGER_CELL should be set")
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |     use tokio::io::AsyncReadExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[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]    --> server/src/core/topology/peer_table.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut p1 = Peer::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: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut p2 = Peer::new(
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut p = Peer::new(
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lf`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1381:13
[INFO] [stdout]      |
[INFO] [stdout] 1381 |         let lf = LumoFile::new(&vfs, &vp).await.unwrap();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_lf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let mut handle = tokio::spawn({
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `private_key_location` and `public_key_location` are never read
[INFO] [stdout]   --> server/src/config/env_var.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct KeySpec {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 13 |     private_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     public_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeySpec` 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 `key_spec` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Identity {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     key_spec: KeySpec,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Identity` 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 `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` 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 `working_dir` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AppConfig {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     working_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_peer_expires_after_in_sec` and `get_working_dir` are never used
[INFO] [stdout]   --> server/src/config/env_var.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl AppConfig {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn update_peer_expires_after_in_sec(&mut self, new_value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_working_dir(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_temp_downloads_dir`, `get_private_key_location`, and `get_public_key_location` are never used
[INFO] [stdout]    --> server/src/config/env_var.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl EnvVar {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_temp_downloads_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_private_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_public_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_working_dir`, and `update_peer_expires_after_in_sec` are never used
[INFO] [stdout]   --> server/src/config/app_config.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SharedConfig {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(_env_var: &EnvVar) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub async fn get_working_dir(&self) -> String {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn update_peer_expires_after_in_sec(&self, new_value: u64) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` 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 `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shutdown_jobs` is never used
[INFO] [stdout]   --> server/src/core/tasks/mod.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub async fn shutdown_jobs() -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Shutdown` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum JobStatus {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_tx` is never read
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct JobSummary {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub shutdown_tx: Option<tokio::sync::oneshot::Sender<()>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_status`, `update_status_msg`, and `shutdown` are never used
[INFO] [stdout]    --> server/src/core/tasks/job_summary.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl JobSummary {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub async fn update_status(&mut self, new_status: JobStatus) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub async fn update_status_msg(&mut self, status_msg: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JobCallbackError` is never constructed
[INFO] [stdout]    --> server/src/core/tasks/jobs/job_genre/claimable_job.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum ClaimableJobTakeoverError {
[INFO] [stdout]     |          ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 171 |     JobCallbackError,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClaimableJobTakeoverError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_peer`, `promote_peer`, `refresh_peer`, and `disable_peer` are never used
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl PeerTable {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub async fn remove_peer(&self, peer: Peer) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn promote_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn refresh_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn disable_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `same_file` and `path` are never used
[INFO] [stdout]    --> server/src/fs/file.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl LumoFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn same_file(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn path(&self) -> &ActualFilePath {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `all` is never used
[INFO] [stdout]   --> server/src/fs/util.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl DirPermissions {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 57 |     /// Convenience: all permissions are granted.
[INFO] [stdout] 58 |     pub const fn all() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_join` is never used
[INFO] [stdout]    --> server/src/fs/util.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn secure_join<P: AsRef<Path>>(base: P, rel: &str) -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_active`, `set_stale`, `set_last_writer`, and `needs_rescan` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl FileEntry {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn set_active(&mut self, from_ver: u64, active: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn set_stale(&mut self, from_ver: u64, stale: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn set_last_writer(&mut self, from_ver: u64, writer: impl Into<String>) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn needs_rescan(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains_key` and `debug` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:373:18
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn len(&self) -> usize {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub async fn with_entry<T>(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub(crate) async fn candidates_by_size(&self, size: u64) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub(crate) async fn candidates_by_size_mtime(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub async fn candidates_for(&self, file: &LumoFile) -> Vec<VirtualPath> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` 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 `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_download_tasks.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PendingFileDownloadTask {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PendingPull {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `basename` and `dirname` are never used
[INFO] [stdout]   --> server/src/fs/vfs/virtual_file.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl VirtualFilePath {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn basename(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn dirname(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VfsEncryption` is never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait VfsEncryption {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TempFile` is never used
[INFO] [stdout]  --> server/src/fs/virtual_file_system.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type TempFile = TempFilePath;
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `spawn_per_request` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl NetworkSender {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn spawn_per_request(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_once` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | async fn send_once(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_addr` and `shutdown` are never used
[INFO] [stdout]    --> server/src/network/tcp_sender.rs:91:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl TcpConn {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub async fn shutdown(mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identity_from_password` is never used
[INFO] [stdout]    --> server/src/utilities/crypto.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(crate) fn identity_from_password(password: &str, salt: &str) -> Result<age::x25519::Identity> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmpDirGuard` is never constructed
[INFO] [stdout]  --> server/src/utilities/temp_dir.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TmpDirGuard(pub PathBuf);
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/utilities/temp_dir.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl TmpDirGuard {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_temp_downloads_dir`, `get_private_key_location`, and `get_public_key_location` are never used
[INFO] [stdout]    --> server/src/config/env_var.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl EnvVar {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_temp_downloads_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_private_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_public_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/config/app_config.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SharedConfig {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(_env_var: &EnvVar) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` 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 `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shutdown_jobs` is never used
[INFO] [stdout]   --> server/src/core/tasks/mod.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub async fn shutdown_jobs() -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_status` and `update_status_msg` are never used
[INFO] [stdout]    --> server/src/core/tasks/job_summary.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl JobSummary {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub async fn update_status(&mut self, new_status: JobStatus) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub async fn update_status_msg(&mut self, status_msg: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JobCallbackError` is never constructed
[INFO] [stdout]    --> server/src/core/tasks/jobs/job_genre/claimable_job.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum ClaimableJobTakeoverError {
[INFO] [stdout]     |          ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 171 |     JobCallbackError,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClaimableJobTakeoverError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_peer`, `promote_peer`, `refresh_peer`, and `disable_peer` are never used
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl PeerTable {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub async fn remove_peer(&self, peer: Peer) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn promote_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn refresh_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn disable_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `same_file` and `path` are never used
[INFO] [stdout]    --> server/src/fs/file.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl LumoFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn same_file(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn path(&self) -> &ActualFilePath {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `all` is never used
[INFO] [stdout]   --> server/src/fs/util.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl DirPermissions {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 57 |     /// Convenience: all permissions are granted.
[INFO] [stdout] 58 |     pub const fn all() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_join` is never used
[INFO] [stdout]    --> server/src/fs/util.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn secure_join<P: AsRef<Path>>(base: P, rel: &str) -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_stale` and `needs_rescan` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl FileEntry {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn set_stale(&mut self, from_ver: u64, stale: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn needs_rescan(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains_key` and `debug` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:460:18
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` 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 `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_download_tasks.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PendingFileDownloadTask {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PendingPull {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TempFile` is never used
[INFO] [stdout]  --> server/src/fs/virtual_file_system.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type TempFile = TempFilePath;
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` 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 `local_addr` is never used
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl TcpConn {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `path` is never used
[INFO] [stdout]    --> server/src/utilities/logger.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 254 |     impl TempFileGuard {
[INFO] [stdout]     |     ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |         fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `server` (bin "server" test); 71 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.94.0-x86_64-unknown-linux-gnu/bin/rustc --crate-name server --edition=2024 server/src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("bench"))' -C metadata=93326d1d593bfbcc -C extra-filename=-d3d3f673c818c208 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern aes=/opt/rustwide/target/debug/deps/libaes-44d2494ee7bec511.rlib --extern age=/opt/rustwide/target/debug/deps/libage-abe3970d60e86832.rlib --extern api_model=/opt/rustwide/target/debug/deps/libapi_model-54370307b0673b3e.rlib --extern async_trait=/opt/rustwide/target/debug/deps/libasync_trait-c16b4fb4f597bfed.so --extern bech32=/opt/rustwide/target/debug/deps/libbech32-8e34a01c797cc4dd.rlib --extern bincode=/opt/rustwide/target/debug/deps/libbincode-42cec15d0c93f03f.rlib --extern bitflags=/opt/rustwide/target/debug/deps/libbitflags-5ad7515f16cf4338.rlib --extern bytes=/opt/rustwide/target/debug/deps/libbytes-13df9da8ba861da2.rlib --extern cbc=/opt/rustwide/target/debug/deps/libcbc-cb6eb310ba857d93.rlib --extern chrono=/opt/rustwide/target/debug/deps/libchrono-e19eeff12d0ea760.rlib --extern cli_handler=/opt/rustwide/target/debug/deps/libcli_handler-d23411b3ecd329fd.so --extern criterion=/opt/rustwide/target/debug/deps/libcriterion-c2c4e318767ea82c.rlib --extern fs2=/opt/rustwide/target/debug/deps/libfs2-1f9cbaf9a35fffa7.rlib --extern hex=/opt/rustwide/target/debug/deps/libhex-89a7819ac077d9c8.rlib --extern notify=/opt/rustwide/target/debug/deps/libnotify-b64cffc660f5210b.rlib --extern pnet_datalink=/opt/rustwide/target/debug/deps/libpnet_datalink-cd27f858314370fe.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-f4e72fd19e22c592.rlib --extern regex=/opt/rustwide/target/debug/deps/libregex-4765f5d236b50409.rlib --extern serde=/opt/rustwide/target/debug/deps/libserde-b0bee26a5c14005d.rlib --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-be2187e413080008.rlib --extern server=/opt/rustwide/target/debug/deps/libserver-82df4c9e1cea20fe.rlib --extern sha2=/opt/rustwide/target/debug/deps/libsha2-1dce355cb4e24d2d.rlib --extern structopt=/opt/rustwide/target/debug/deps/libstructopt-6576d65856c5cbfd.rlib --extern tokio=/opt/rustwide/target/debug/deps/libtokio-77faa5987e52f34b.rlib --extern tokio_test=/opt/rustwide/target/debug/deps/libtokio_test-3e0ef6700c6f5ca5.rlib --extern toml=/opt/rustwide/target/debug/deps/libtoml-d019d0f6eabcfb62.rlib --extern uuid=/opt/rustwide/target/debug/deps/libuuid-5a08d2444f6500f5.rlib --extern xxhash_rust=/opt/rustwide/target/debug/deps/libxxhash_rust-f78f7a85bcee2eb8.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "442055fe0743ad6aabf0cc3e194cc9eaba3f9769c2363cb131ca66b747a4c688", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "442055fe0743ad6aabf0cc3e194cc9eaba3f9769c2363cb131ca66b747a4c688", kill_on_drop: false }`
[INFO] [stdout] 442055fe0743ad6aabf0cc3e194cc9eaba3f9769c2363cb131ca66b747a4c688
