[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.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahatianx%2Flumo" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/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-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hahatianx/lumo on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc
[INFO] running `Command { std: "docker" "start" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling lexical-util v1.0.7
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling self_cell v1.2.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling type-map v0.5.1
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling self_cell v0.10.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling lexical-write-integer v1.0.6
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling lexical-parse-float v1.0.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling lexical-write-float v1.0.6
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rust-embed-utils v8.9.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling lexical-core v1.0.6
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling io_tee v0.1.1
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling no-std-net v0.6.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling pnet_base v0.34.0
[INFO] [stderr]    Compiling inotify v0.11.0
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling chacha20 v0.10.0-rc.2
[INFO] [stderr]    Compiling pnet_sys v0.34.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[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 unty v0.0.4
[INFO] [stderr]    Compiling rand v0.10.0-rc.0
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling toml v0.9.8
[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 structopt-derive v0.4.18
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling rust-embed-impl v8.9.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[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 clap_derive v4.5.49
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling rust-embed v8.9.0
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling fluent-syntax v0.11.1
[INFO] [stderr]    Compiling unic-langid-impl v0.9.6
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling unic-langid v0.9.6
[INFO] [stderr]    Compiling intl_pluralrules v7.0.2
[INFO] [stderr]    Compiling fluent-langneg v0.13.1
[INFO] [stderr]    Compiling intl-memoizer v0.5.3
[INFO] [stderr]    Compiling scrypt v0.11.0
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cbc v0.1.2
[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 clap v4.5.51
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling cookie-factory v0.3.3
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling age-core v0.11.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling notify-types v2.0.0
[INFO] [stderr]    Compiling i18n-config v0.4.8
[INFO] [stderr]    Compiling api_model v0.1.0 (/opt/rustwide/workdir/api_model)
[INFO] [stderr]    Compiling ipnetwork v0.20.0
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling pnet_datalink v0.34.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] [stderr]    Compiling find-crate v0.6.3
[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] [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 i18n-embed-fl v0.9.4
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling age v0.11.1
[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: variable `processed` is assigned to, but never used
[INFO] [stdout]    --> server/src/fs/file.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut processed: usize = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_processed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `processed` is never read
[INFO] [stdout]    --> server/src/fs/file.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         processed += n;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: variable `processed` is assigned to, but never used
[INFO] [stdout]    --> server/src/fs/file.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut processed: usize = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_processed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `processed` is never read
[INFO] [stdout]    --> server/src/fs/file.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         processed += n;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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] warning: unused dependency `chrono`
[INFO] [stderr]   --> api_model/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | chrono = "0.4.42"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `chrono`
[INFO] [stderr] warning: `api_model` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `hex`
[INFO] [stderr]   --> server/Cargo.toml:38:1
[INFO] [stderr]    |
[INFO] [stderr] 38 | hex = "0.4.3"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hex`
[INFO] [stderr] warning: unused dependency `tokio-test`
[INFO] [stderr]   --> server/Cargo.toml:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | tokio-test = "0.4.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tokio-test`
[INFO] [stderr] warning: `server` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 48s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling cli_handler v0.1.0 (/opt/rustwide/workdir/cli_handler)
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling api_model v0.1.0 (/opt/rustwide/workdir/api_model)
[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 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] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[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 ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[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: variable `processed` is assigned to, but never used
[INFO] [stdout]    --> server/src/fs/file.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut processed: usize = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_processed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `processed` is never read
[INFO] [stdout]    --> server/src/fs/file.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         processed += n;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: 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: `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: 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: variable `processed` is assigned to, but never used
[INFO] [stdout]    --> server/src/fs/file.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut processed: usize = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_processed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `processed` is never read
[INFO] [stdout]    --> server/src/fs/file.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         processed += n;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: 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: `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 `processed` is assigned to, but never used
[INFO] [stdout]    --> server/src/fs/file.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut processed: usize = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_processed` instead
[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: value assigned to `processed` is never read
[INFO] [stdout]    --> server/src/fs/file.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         processed += n;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: `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: `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 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: 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: `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: `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: `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 `processed` is assigned to, but never used
[INFO] [stdout]    --> server/src/fs/file.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let mut processed: usize = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_processed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `processed` is never read
[INFO] [stdout]    --> server/src/fs/file.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         processed += n;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: 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: 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] warning: unused dependency `chrono`
[INFO] [stderr]   --> api_model/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | chrono = "0.4.42"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `chrono`
[INFO] [stderr] warning: `api_model` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `hex`
[INFO] [stderr]   --> server/Cargo.toml:38:1
[INFO] [stderr]    |
[INFO] [stderr] 38 | hex = "0.4.3"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hex`
[INFO] [stderr] warning: unused dependency `tokio-test`
[INFO] [stderr]   --> server/Cargo.toml:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | tokio-test = "0.4.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tokio-test`
[INFO] [stderr] warning: `server` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 59.74s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: associated functions `to_utf8` and `parse_from_str` are never used
[INFO] [stderr]   --> api_model/src/protocol/token.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl Token {
[INFO] [stderr]    | ---------- associated functions in this implementation
[INFO] [stderr] 22 |     #[inline]
[INFO] [stderr] 23 |     fn to_utf8(bytes: &[u8]) -> Result<&str> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     fn parse_from_str<T>(s: &str, what: &str) -> Result<T>
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `api_model` (lib) generated 1 warning
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 66 |             JobStatus::Running => xterm_color::bold("Running"),
[INFO] [stderr]    |             ------------------ matches some of the same values
[INFO] [stderr] 67 |             JobStatus::Completed => xterm_color::bold_green("Completed"),
[INFO] [stderr]    |             -------------------- matches some of the same values
[INFO] [stderr] 68 |             JobStatus::Failed => xterm_color::bold_red("Failed"),
[INFO] [stderr]    |             ----------------- matches some of the same values
[INFO] [stderr] 69 |             JobStatus::TimedOut => xterm_color::bold_yellow("Timed out"),
[INFO] [stderr]    |             ------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stderr]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> client/src/error/mod.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> client/src/error/mod.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 18 |             ClientError::ConnectionBindError(msg, _) => write!(f, "Connection bind error: {}", msg),
[INFO] [stderr]    |             ---------------------------------------- matches some of the same values
[INFO] [stderr] 19 |             ClientError::ConnectionTimeoutError(msg, _) => {
[INFO] [stderr]    |             ------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 22 |             ClientError::ConnectionReceiverError(msg, _) => {
[INFO] [stderr]    |             -------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 25 |             ClientError::ResponseParseError(msg, _) => write!(f, "Response parse error: {}", msg),
[INFO] [stderr]    |             --------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stderr]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> client/src/error/mod.rs:52:13
[INFO] [stderr]    |
[INFO] [stderr] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> client/src/error/mod.rs:52:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             ClientError::ConnectionBindError(msg, trace) => {
[INFO] [stderr]    |             -------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 39 |             ClientError::ConnectionTimeoutError(msg, trace) => {
[INFO] [stderr]    |             ----------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 42 |             ClientError::ConnectionReceiverError(msg, trace) => {
[INFO] [stderr]    |             ------------------------------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 45 |             ClientError::ResponseParseError(msg, trace) => {
[INFO] [stderr]    |             ------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stderr]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ConnectionTimeoutError` and `InternalError` are never constructed
[INFO] [stderr]   --> client/src/error/mod.rs:7:5
[INFO] [stderr]    |
[INFO] [stderr]  3 | pub enum ClientError {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  7 |     ConnectionTimeoutError(String, String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 12 |     InternalError(String, String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `idx` is never read
[INFO] [stderr]  --> client/src/format/table.rs:5:16
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct TableColumn {
[INFO] [stderr]   |            ----------- field in this struct
[INFO] [stderr] 5 |     pub(crate) idx: usize,
[INFO] [stderr]   |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> client/src/format/table.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl TableColumn {
[INFO] [stderr]    | ---------------- associated function in this implementation
[INFO] [stderr] 10 |     pub fn new(idx: usize, name: &'static str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated constant `N` is never used
[INFO] [stderr]   --> client/src/format/table.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub trait Schema {
[INFO] [stderr]    |           ------ associated constant in this trait
[INFO] [stderr] 16 |     const N: usize;
[INFO] [stderr]    |           ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `green` is never used
[INFO] [stderr]   --> client/src/format/xterm_color.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn green(text: &str) -> String {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `yellow` is never used
[INFO] [stderr]   --> client/src/format/xterm_color.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn yellow(text: &str) -> String {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `blue` is never used
[INFO] [stderr]   --> client/src/format/xterm_color.rs:41:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub fn blue(text: &str) -> String {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `client` (bin "client" test) generated 10 warnings
[INFO] [stderr] warning: `api_model` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: unused import: `ENV_VAR`
[INFO] [stderr]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stderr]   |                         ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::global_var::LOGGER`
[INFO] [stderr]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::global_var::LOGGER;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::path::PathBuf;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PathBuf`
[INFO] [stderr]   --> server/src/fs/file.rs:10:23
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::path::{Path, PathBuf};
[INFO] [stderr]    |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Index`
[INFO] [stderr]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 91 | use std::ops::Index;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stderr]    |
[INFO] [stderr] 92 | use std::path::{Path, PathBuf};
[INFO] [stderr]    |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PathBuf` and `Path`
[INFO] [stderr]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stderr]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::path::PathBuf;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncSeekExt`
[INFO] [stderr]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stderr]    |
[INFO] [stderr] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stderr]    |                               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::fs::fs_lock`
[INFO] [stderr]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::fs::fs_lock;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LOGGER`
[INFO] [stderr]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stderr]   |                                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OpenOptions` and `self`
[INFO] [stderr]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::fs::{self, OpenOptions};
[INFO] [stderr]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stderr]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stderr]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::path::Path;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::net::SocketAddr`
[INFO] [stderr]    --> server/src/core/tasks/task_queue.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |     use std::net::SocketAddr;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]    --> server/src/fs/util.rs:221:9
[INFO] [stderr]     |
[INFO] [stderr] 221 |     use std::path::Path;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::utilities::temp_dir::TmpDirGuard`
[INFO] [stderr]   --> server/src/fs/vfs/actual_file.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |     use crate::utilities::temp_dir::TmpDirGuard;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]   --> server/src/fs/vfs/actual_file.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |     use std::fs;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stderr]   --> server/src/fs/file.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tokio::io::AsyncReadExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stderr]    |
[INFO] [stderr] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncWriteExt`
[INFO] [stderr]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stderr]    |
[INFO] [stderr] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stderr]    |
[INFO] [stderr] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `processed` is assigned to, but never used
[INFO] [stderr]    --> server/src/fs/file.rs:229:9
[INFO] [stderr]     |
[INFO] [stderr] 229 |     let mut processed: usize = 0;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_processed` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `processed` is never read
[INFO] [stderr]    --> server/src/fs/file.rs:238:9
[INFO] [stderr]     |
[INFO] [stderr] 238 |         processed += n;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stderr]    |
[INFO] [stderr] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stderr]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stderr]    |
[INFO] [stderr] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stderr]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vfs`
[INFO] [stderr]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stderr]      |
[INFO] [stderr] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stderr]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stderr]      |
[INFO] [stderr] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stderr]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `active_peers`
[INFO] [stderr]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stderr]    |
[INFO] [stderr] 21 |                 let active_peers = PEER_TABLE
[INFO] [stderr]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> server/src/utilities/logger.rs:219:9
[INFO] [stderr]     |
[INFO] [stderr] 215 | /             return LOGGER_CELL
[INFO] [stderr] 216 | |                 .get()
[INFO] [stderr] 217 | |                 .expect("LOGGER_CELL should be set by test fallback");
[INFO] [stderr]     | |_____________________________________________________________________- any code following this expression is unreachable
[INFO] [stderr] 218 |           }
[INFO] [stderr] 219 |           LOGGER_CELL.get().expect("LOGGER_CELL should be set")
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arc_vfs`
[INFO] [stderr]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stderr]    |
[INFO] [stderr] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stderr]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stderr]    --> server/src/fs/fs_lock.rs:320:9
[INFO] [stderr]     |
[INFO] [stderr] 320 |     use tokio::io::AsyncReadExt;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `level`
[INFO] [stderr]    --> server/src/utilities/logger.rs:173:21
[INFO] [stderr]     |
[INFO] [stderr] 173 |                     level,
[INFO] [stderr]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msg`
[INFO] [stderr]    --> server/src/utilities/logger.rs:174:21
[INFO] [stderr]     |
[INFO] [stderr] 174 |                     msg,
[INFO] [stderr]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ts_millis`
[INFO] [stderr]    --> server/src/utilities/logger.rs:175:21
[INFO] [stderr]     |
[INFO] [stderr] 175 |                     ts_millis,
[INFO] [stderr]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stderr]   --> server/src/config/config.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 82 | enum ConfigInputValue {
[INFO] [stderr]    |      ---------------- variants in this enum
[INFO] [stderr] 83 |     String(String),
[INFO] [stderr] 84 |     Int(i32),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 85 |     Uint(u32),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 86 |     Bool(bool),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `file_sync_port` is never read
[INFO] [stderr]   --> server/src/config/env_var.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | struct ConnectionConfig {
[INFO] [stderr]    |        ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 29 |     file_sync_port: u16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `nonce` is never read
[INFO] [stderr]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct FileRecvSummary {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 20 |     pub nonce: Nonce,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `expected_checksum` is never read
[INFO] [stderr]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct FileRecvTracker {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 46 |     nonce: Nonce,
[INFO] [stderr] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nonce` and `checksum` are never read
[INFO] [stderr]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct FileSendSummary {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 12 |     pub nonce: Nonce,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 13 |     pub file_size: u64,
[INFO] [stderr] 14 |     pub checksum: Checksum,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FileMalformed` is never constructed
[INFO] [stderr]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum FileSyncError {
[INFO] [stderr]    |          ------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 13 |     FileMalformed,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FileSyncError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `maybe_checksum` is never used
[INFO] [stderr]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | impl FileSyncAck {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Challenge` is never used
[INFO] [stderr]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stderr]    |
[INFO] [stderr] 19 | type Challenge = u64;
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Nonce` is never used
[INFO] [stderr]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stderr]    |
[INFO] [stderr] 20 | type Nonce = u64;
[INFO] [stderr]    |      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Checksum` is never used
[INFO] [stderr]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stderr]    |
[INFO] [stderr] 21 | type Checksum = u64;
[INFO] [stderr]    |      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stderr]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | enum DownloadFileError {
[INFO] [stderr]    |      ----------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 28 |     FileChecksumMismatch,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `contains_key` is never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stderr]     |
[INFO] [stderr] 271 | impl FileIndexInner {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `list_paths` is never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:416:25
[INFO] [stderr]     |
[INFO] [stderr] 365 | impl FileIndex {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stderr]     |                         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stderr]     |
[INFO] [stderr] 472 | impl FileIndex {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 709 |     async fn set_last_writer_checked(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stderr]     |
[INFO] [stderr] 747 | impl FileIndex {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stderr]     |              ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `file_lock` is never read
[INFO] [stderr]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stderr]     |
[INFO] [stderr] 252 | pub struct ReadGuard {
[INFO] [stderr]     |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ReadGuard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `write` and `read` are never used
[INFO] [stderr]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub(crate) trait Vfs {
[INFO] [stderr]    |                  --- methods in this trait
[INFO] [stderr] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stderr]    |              ^^^^^
[INFO] [stderr] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stderr]    |              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `meta_dir` is never read
[INFO] [stderr]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct VirtualFileSystem {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] 27 |     working_dir: PathBuf,
[INFO] [stderr] 28 |     meta_dir: PathBuf,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_working_dir` is never used
[INFO] [stderr]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl VirtualFileSystem {
[INFO] [stderr]    | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `local_addr` is never used
[INFO] [stderr]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | impl UdpListener {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stderr]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stderr]    |
[INFO] [stderr] 35 | impl TcpListener {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stderr]    |                  ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `connect_timeout` is never read
[INFO] [stderr]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct TcpConn {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 17 |     connect_timeout: Duration,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> server/src/fs/vfs_interface.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] 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] [stderr]    |
[INFO] [stderr] 30 -     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stderr] 30 +     fn open_lumo(&self, path: &VirtualPath) -> impl std::future::Future<Output = Result<LumoFile>> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> server/src/fs/vfs_interface.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     async fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 34 ~     fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stderr] 35 |         &self,
[INFO] [stderr] ...
[INFO] [stderr] 38 |         passphrase: &str,
[INFO] [stderr] 39 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> server/src/fs/vfs_interface.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 |     async fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 40 ~     fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stderr] 41 |         &self,
[INFO] [stderr] ...
[INFO] [stderr] 44 |         passphrase: &str,
[INFO] [stderr] 45 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> server/src/core/topology/peer_table.rs:378:13
[INFO] [stderr]     |
[INFO] [stderr] 378 |         let mut p1 = Peer::new(
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> server/src/core/topology/peer_table.rs:401:13
[INFO] [stderr]     |
[INFO] [stderr] 401 |         let mut p2 = Peer::new(
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> server/src/core/topology/peer_table.rs:429:17
[INFO] [stderr]     |
[INFO] [stderr] 429 |             let mut p = Peer::new(
[INFO] [stderr]     |                 ----^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lf`
[INFO] [stderr]     --> server/src/fs/fs_index.rs:1381:13
[INFO] [stderr]      |
[INFO] [stderr] 1381 |         let lf = LumoFile::new(&vfs, &vp).await.unwrap();
[INFO] [stderr]      |             ^^ help: if this is intentional, prefix it with an underscore: `_lf`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> server/src/fs/fs_lock.rs:453:13
[INFO] [stderr]     |
[INFO] [stderr] 453 |         let mut handle = tokio::spawn({
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `file_sync_port` is never read
[INFO] [stderr]   --> server/src/config/env_var.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | struct ConnectionConfig {
[INFO] [stderr]    |        ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 29 |     file_sync_port: u16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `path` is never used
[INFO] [stderr]    --> server/src/utilities/logger.rs:258:12
[INFO] [stderr]     |
[INFO] [stderr] 254 |     impl TempFileGuard {
[INFO] [stderr]     |     ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 258 |         fn path(&self) -> &Path {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `server` (lib) generated 55 warnings (run `cargo fix --lib -p server` to apply 25 suggestions)
[INFO] [stderr] warning: unused import: `fs_lock::RwLock`
[INFO] [stderr]  --> server/src/fs/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use fs_lock::RwLock;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LumoVfs`
[INFO] [stderr]   --> server/src/fs/mod.rs:15:25
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub use vfs_interface::{LumoVfs, VfsEncryption, VfsLock};
[INFO] [stderr]    |                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `private_key_location` and `public_key_location` are never read
[INFO] [stderr]   --> server/src/config/env_var.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | struct KeySpec {
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 13 |     private_key_location: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 14 |     public_key_location: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `KeySpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `key_spec` is never read
[INFO] [stderr]   --> server/src/config/env_var.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | struct Identity {
[INFO] [stderr]    |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 22 |     key_spec: KeySpec,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Identity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `working_dir` is never read
[INFO] [stderr]   --> server/src/config/env_var.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct AppConfig {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 35 |     working_dir: String,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `update_peer_expires_after_in_sec` and `get_working_dir` are never used
[INFO] [stderr]   --> server/src/config/env_var.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl AppConfig {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn update_peer_expires_after_in_sec(&mut self, new_value: u64) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn get_working_dir(&self) -> &str {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_temp_downloads_dir`, `get_private_key_location`, and `get_public_key_location` are never used
[INFO] [stderr]    --> server/src/config/env_var.rs:113:12
[INFO] [stderr]     |
[INFO] [stderr]  69 | impl EnvVar {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 113 |     pub fn get_temp_downloads_dir(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 139 |     pub fn get_private_key_location(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     pub fn get_public_key_location(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get_working_dir`, and `update_peer_expires_after_in_sec` are never used
[INFO] [stderr]   --> server/src/config/app_config.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl SharedConfig {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 13 |     pub fn new(_env_var: &EnvVar) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub async fn get_working_dir(&self) -> String {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub async fn update_peer_expires_after_in_sec(&self, new_value: u64) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shutdown_jobs` is never used
[INFO] [stderr]   --> server/src/core/tasks/mod.rs:98:14
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub async fn shutdown_jobs() -> Result<()> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Shutdown` is never constructed
[INFO] [stderr]   --> server/src/core/tasks/job_summary.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub enum JobStatus {
[INFO] [stderr]    |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 17 |     Shutdown,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `JobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `shutdown_tx` is never read
[INFO] [stderr]   --> server/src/core/tasks/job_summary.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub struct JobSummary {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub shutdown_tx: Option<tokio::sync::oneshot::Sender<()>>,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `update_status`, `update_status_msg`, and `shutdown` are never used
[INFO] [stderr]    --> server/src/core/tasks/job_summary.rs:142:18
[INFO] [stderr]     |
[INFO] [stderr] 104 | impl JobSummary {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 142 |     pub async fn update_status(&mut self, new_status: JobStatus) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 188 |     pub async fn update_status_msg(&mut self, status_msg: String) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 192 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `JobCallbackError` is never constructed
[INFO] [stderr]    --> server/src/core/tasks/jobs/job_genre/claimable_job.rs:171:5
[INFO] [stderr]     |
[INFO] [stderr] 168 | pub enum ClaimableJobTakeoverError {
[INFO] [stderr]     |          ------------------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 171 |     JobCallbackError,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ClaimableJobTakeoverError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove_peer`, `promote_peer`, `refresh_peer`, and `disable_peer` are never used
[INFO] [stderr]    --> server/src/core/topology/peer_table.rs:121:18
[INFO] [stderr]     |
[INFO] [stderr] 114 | impl PeerTable {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub async fn remove_peer(&self, peer: Peer) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 151 |     pub async fn promote_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     pub async fn refresh_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 189 |     pub async fn disable_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `same_file` and `path` are never used
[INFO] [stderr]    --> server/src/fs/file.rs:144:18
[INFO] [stderr]     |
[INFO] [stderr]  94 | impl LumoFile {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 144 |     pub async fn same_file(&self, other: &Self) -> bool {
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 203 |     pub fn path(&self) -> &ActualFilePath {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `all` is never used
[INFO] [stderr]   --> server/src/fs/util.rs:58:18
[INFO] [stderr]    |
[INFO] [stderr] 56 | impl DirPermissions {
[INFO] [stderr]    | ------------------- associated function in this implementation
[INFO] [stderr] 57 |     /// Convenience: all permissions are granted.
[INFO] [stderr] 58 |     pub const fn all() -> Self {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `secure_join` is never used
[INFO] [stderr]    --> server/src/fs/util.rs:190:8
[INFO] [stderr]     |
[INFO] [stderr] 190 | pub fn secure_join<P: AsRef<Path>>(base: P, rel: &str) -> Result<PathBuf> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_active`, `set_stale`, `set_last_writer`, and `needs_rescan` are never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:216:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | impl FileEntry {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 216 |     pub fn set_active(&mut self, from_ver: u64, active: bool) -> Result<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 224 |     pub fn set_stale(&mut self, from_ver: u64, stale: bool) -> Result<u64> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 240 |     pub fn set_last_writer(&mut self, from_ver: u64, writer: impl Into<String>) -> Result<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub fn needs_rescan(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `contains_key` and `debug` are never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stderr]     |
[INFO] [stderr] 271 | impl FileIndexInner {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 319 |     pub async fn debug(&self) -> String {
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:373:18
[INFO] [stderr]     |
[INFO] [stderr] 365 | impl FileIndex {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 373 |     pub async fn len(&self) -> usize {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 380 |     pub async fn with_entry<T>(
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stderr]     |                         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 427 |     pub(crate) async fn candidates_by_size(&self, size: u64) -> Vec<VirtualPath> {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 437 |     pub(crate) async fn candidates_by_size_mtime(
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 452 |     pub async fn candidates_for(&self, file: &LumoFile) -> Vec<VirtualPath> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 460 |     pub async fn debug(&self) -> String {
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `created_at` is never read
[INFO] [stderr]   --> server/src/fs/task_management/file_download_tasks.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct PendingFileDownloadTask {
[INFO] [stderr]    |            ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `created_at` is never read
[INFO] [stderr]   --> server/src/fs/task_management/file_request_tasks.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct PendingPull {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `basename` and `dirname` are never used
[INFO] [stderr]   --> server/src/fs/vfs/virtual_file.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl VirtualFilePath {
[INFO] [stderr]    | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn basename(&self) -> &str {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub fn dirname(&self) -> &str {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `VfsEncryption` is never used
[INFO] [stderr]   --> server/src/fs/vfs_interface.rs:33:11
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub trait VfsEncryption {
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `TempFile` is never used
[INFO] [stderr]  --> server/src/fs/virtual_file_system.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub type TempFile = TempFilePath;
[INFO] [stderr]   |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `spawn_per_request` is never used
[INFO] [stderr]    --> server/src/network/udp_sender.rs:121:12
[INFO] [stderr]     |
[INFO] [stderr]  89 | impl NetworkSender {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn spawn_per_request(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_once` is never used
[INFO] [stderr]    --> server/src/network/udp_sender.rs:242:10
[INFO] [stderr]     |
[INFO] [stderr] 242 | async fn send_once(
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `local_addr` and `shutdown` are never used
[INFO] [stderr]    --> server/src/network/tcp_sender.rs:91:12
[INFO] [stderr]     |
[INFO] [stderr]  41 | impl TcpConn {
[INFO] [stderr]     | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  91 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 171 |     pub async fn shutdown(mut self) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `identity_from_password` is never used
[INFO] [stderr]    --> server/src/utilities/crypto.rs:119:15
[INFO] [stderr]     |
[INFO] [stderr] 119 | pub(crate) fn identity_from_password(password: &str, salt: &str) -> Result<age::x25519::Identity> {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TmpDirGuard` is never constructed
[INFO] [stderr]  --> server/src/utilities/temp_dir.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct TmpDirGuard(pub PathBuf);
[INFO] [stderr]   |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> server/src/utilities/temp_dir.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl TmpDirGuard {
[INFO] [stderr]    | ---------------- associated function in this implementation
[INFO] [stderr] 24 |     pub fn new(name: &str) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> server/src/config/app_config.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl SharedConfig {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] 13 |     pub fn new(_env_var: &EnvVar) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `update_status` and `update_status_msg` are never used
[INFO] [stderr]    --> server/src/core/tasks/job_summary.rs:142:18
[INFO] [stderr]     |
[INFO] [stderr] 104 | impl JobSummary {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 142 |     pub async fn update_status(&mut self, new_status: JobStatus) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 188 |     pub async fn update_status_msg(&mut self, status_msg: String) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_stale` and `needs_rescan` are never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:224:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | impl FileEntry {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 224 |     pub fn set_stale(&mut self, from_ver: u64, stale: bool) -> Result<u64> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub fn needs_rescan(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `debug` is never used
[INFO] [stderr]    --> server/src/fs/fs_index.rs:460:18
[INFO] [stderr]     |
[INFO] [stderr] 365 | impl FileIndex {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 460 |     pub async fn debug(&self) -> String {
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `local_addr` is never used
[INFO] [stderr]   --> server/src/network/tcp_sender.rs:91:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl TcpConn {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `server` (lib test) generated 59 warnings (46 duplicates) (run `cargo fix --lib -p server --tests` to apply 9 suggestions)
[INFO] [stderr] warning: `server` (bin "server") generated 81 warnings (50 duplicates) (run `cargo fix --bin "server" -p server` to apply 2 suggestions)
[INFO] [stderr] warning: `server` (bin "server" test) generated 73 warnings (68 duplicates)
[INFO] [stderr] warning: unused dependency `chrono`
[INFO] [stderr]   --> api_model/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | chrono = "0.4.42"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `chrono`
[INFO] [stderr] warning: `api_model` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `hex`
[INFO] [stderr]   --> server/Cargo.toml:38:1
[INFO] [stderr]    |
[INFO] [stderr] 38 | hex = "0.4.3"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hex`
[INFO] [stderr] warning: unused dependency `tokio-test`
[INFO] [stderr]   --> server/Cargo.toml:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | tokio-test = "0.4.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tokio-test`
[INFO] [stderr] warning: `server` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 33.45s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/api_model/a66d77d7ce1da9c1/out/api_model-a66d77d7ce1da9c1)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test protocol::message::api_request_message::tests::deserialize_port_out_of_range ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::deserialize_invalid_request_payload ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::roundtrip_list_peers ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::deserialize_wrong_header ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::serialize_format_info ... ok
[INFO] [stdout] test protocol::message::api_response_message::tests::deserialize_invalid_payload ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::deserialize_unexpected_token_count ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::deserialize_wrong_from_ip_type ... ok
[INFO] [stdout] test protocol::message::api_response_message::tests::deserialize_unexpected_token_count ... ok
[INFO] [stdout] test protocol::message::api_response_message::tests::deserialize_wrong_header ... ok
[INFO] [stdout] test protocol::message::api_response_message::tests::roundtrip_list_peers ... ok
[INFO] [stdout] test protocol::message::api_response_message::tests::serialize_format_error ... ok
[INFO] [stdout] test protocol::token::tests::parse_all_sequence ... ok
[INFO] [stdout] test protocol::token::tests::parse_data ... ok
[INFO] [stdout] test protocol::token::tests::parse_error ... ok
[INFO] [stdout] test protocol::token::tests::parse_float ... ok
[INFO] [stdout] test protocol::token::tests::parse_integer ... ok
[INFO] [stdout] test protocol::token::tests::parse_null ... ok
[INFO] [stdout] test protocol::token::tests::parse_simple ... ok
[INFO] [stdout] test protocol::token::tests::round_trip ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_data ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_integer ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_float ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_error ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_simple ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_null ... ok
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/cli_handler/b176d63ce619e090/out/cli_handler-b176d63ce619e090)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/client/29994bc3ce3dfd62/out/client-29994bc3ce3dfd62)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/server/6b08bb21ba77bccd/out/server-6b08bb21ba77bccd)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test config::config::tests::prompt_formats_with_and_without_default ... ok
[INFO] [stdout] test config::config::tests::test_pattern_empty_and_invalid_regex ... ok
[INFO] [stdout] test config::config::tests::config_input_value_to_string_variants ... ok
[INFO] [stdout] test config::config::tests::dump_creates_parent_dirs_and_writes_toml ... ok
[INFO] [stdout] test config::opts::tests::parse_version_flag ... ok
[INFO] [stdout] test config::opts::tests::missing_required_config_without_version_errors ... ok
[INFO] [stdout] test config::opts::tests::parse_config_and_debug_flags_short_and_long ... ok
[INFO] [stdout] test core::tasks::jobs::job_genre::oneshot_job::tests::execute_job_failure_no_timeout ... ok
[INFO] [stdout] test core::tasks::jobs::job_genre::oneshot_job::tests::execute_job_success_no_timeout ... ok
[INFO] [stdout] test core::tasks::jobs::job_genre::oneshot_job::tests::handle_invokes_callback_success ... ok
[INFO] [stdout] test core::tasks::jobs::job_genre::oneshot_job::tests::handle_invokes_callback_failure ... ok
[INFO] [stdout] test core::tasks::low_level_tasks::task_send_control_message::tests::drain_bytes_moves_payload_for_broadcast ... ok
[INFO] [stdout] test core::tasks::low_level_tasks::task_send_control_message::tests::drain_bytes_moves_payload_for_unicast ... ok
[INFO] [stdout] test core::tasks::task_queue::tests::task_queue_accepts_and_processes ... ok
[INFO] [stdout] test config::config::tests::rust_version_regex ... ok
[INFO] [stdout] test config::app_config::tests::app_config_access_and_update_works ... FAILED
[INFO] [stdout] test core::tasks::jobs::job_heartbeat::tests::heartbeat_closure_runs_with_no_active_peers ... FAILED
[INFO] [stdout] test config::config::tests::from_config_expands_tilde_with_home ... ok
[INFO] [stdout] test fs::file::tests::bench_get_checksum_unit ... FAILED
[INFO] [stdout] test fs::file::tests::checksum_basic_and_cache ... FAILED
[INFO] [stdout] test fs::file::tests::checksum_updates_on_change ... FAILED
[INFO] [stdout] test fs::file::tests::concurrent_checksum_uses_lock ... FAILED
[INFO] [stdout] test fs::fs_encryption::tests::test_vfs_encryption_roundtrip ... FAILED
[INFO] [stdout] test fs::fs_index::more_fs_index_concurrency_tests::concurrent_upsert_and_set_last_writer_no_deadlock ... FAILED
[INFO] [stdout] test config::env_var::tests::envvar_from_config_expands_tilde_and_preserves_fields ... FAILED
[INFO] [stdout] test fs::fs_encryption::tests::test_vfs_encryption_wrong_passphrase ... FAILED
[INFO] [stdout] test fs::fs_index::more_fs_index_concurrency_tests::on_file_event_add_modify_remove_flow ... FAILED
[INFO] [stdout] test fs::fs_index::more_fs_index_concurrency_tests::inactive_clean_removes_expired_inactive_entries ... FAILED
[INFO] [stdout] test fs::fs_index::more_fs_index_set_active_tests::set_active_flips_state_and_is_consistent ... FAILED
[INFO] [stdout] test core::topology::peer_table::tests::peer_table_anti_entropy_completes_without_deadlock ... FAILED
[INFO] [stdout] test fs::fs_index::more_fs_index_set_active_tests::set_active_returns_err_for_missing_and_does_not_block_future_insert ... FAILED
[INFO] [stdout] test fs::fs_listener::tests::watch_nonexistent_path_errors ... ok
[INFO] [stdout] test fs::fs_index::tests::candidates_by_size_and_remove_updates_indices ... FAILED
[INFO] [stdout] test fs::fs_index::tests::candidates_by_size_mtime_and_candidates_for_with_hardlink ... FAILED
[INFO] [stdout] test fs::fs_lock::tests::cancellation_during_first_reader_init_does_not_leak ... FAILED
[INFO] [stdout] test fs::fs_index::tests::upsert_contains_list_and_flags ... FAILED
[INFO] [stdout] test fs::fs_lock::tests::concurrent_reads_and_write_blocking ... FAILED
[INFO] [stdout] test fs::fs_lock::tests::write_exclusive_against_reads_and_writes ... FAILED
[INFO] [stdout] test fs::tests::init_fs_errors_when_path_is_file ... ok
[INFO] [stdout] test fs::fs_index::tests::meta_access_and_updates ... FAILED
[INFO] [stdout] test fs::util::tests::check_permissions_nonexistent_dir_all_false ... ok
[INFO] [stdout] test fs::util::tests::expand_tilde_leaves_non_tilde_paths_unchanged ... ok
[INFO] [stdout] test fs::util::tests::check_permissions_writable_temp_dir_has_write ... ok
[INFO] [stdout] test fs::util::tests::round_to_fat32_floors_even_seconds_and_subsecs ... ok
[INFO] [stdout] test fs::util::tests::round_to_fat32_pre_epoch_clamps_to_epoch ... ok
[INFO] [stdout] test fs::util::tests::test_dir_existence_false_for_nonexistent_path ... ok
[INFO] [stdout] test fs::tests::init_fs_creates_disc_logs_and_logfile_and_writes ... ok
[INFO] [stdout] test fs::fs_listener::tests::unwatched_disc_folder_does_not_emit_events ... FAILED
[INFO] [stdout] test fs::util::tests::test_dir_existence_true_for_current_dir ... ok
[INFO] [stdout] test fs::vfs::actual_file::tests::test_to_path ... ok
[INFO] [stdout] test fs::util::tests::test_dir_existence_false_for_existing_file ... ok
[INFO] [stdout] test fs::vfs::virtual_file::tests::test_basename_dirname ... ok
[INFO] [stdout] test fs::vfs::virtual_file::tests::test_sanitize_invalid ... ok
[INFO] [stdout] test fs::vfs::virtual_file::tests::test_sanitize_valid ... ok
[INFO] [stdout] test fs::vfs::virtual_file::tests::test_to_native_path_unix ... ok
[INFO] [stdout] test fs::util::tests::check_current_dir_permissions ... ok
[INFO] [stdout] test fs::virtual_file_system::tests::test_vfs_resolve ... FAILED
[INFO] [stdout] test network::protocol::messages::hello_message::tests::deserialize_rejects_extra_tokens ... ok
[INFO] [stdout] test fs::virtual_file_system::tests::test_vp_from_raw_linux ... FAILED
[INFO] [stdout] test network::protocol::messages::hello_message::tests::from_tokens_rejects_out_of_range_mode ... ok
[INFO] [stdout] test network::protocol::messages::hello_message::tests::from_tokens_rejects_wrong_header_and_length ... ok
[INFO] [stdout] test fs::virtual_file_system::tests::test_vp_from_raw_outside_working_dir ... FAILED
[INFO] [stdout] test network::protocol::messages::hello_message::tests::roundtrip_serialize_deserialize ... ok
[INFO] [stdout] test network::protocol::messages::hello_message::tests::serialize_produces_expected_tokens ... ok
[INFO] [stdout] test network::udp_listener::tests::udp_listener_receives_one_datagram ... ok
[INFO] [stdout] test network::udp_sender::tests::test_broadcast_multiple_receivers ... ok
[INFO] [stdout] test network::tcp_sender::tests::tcp_conn_timeout_on_connect_and_write_configurable ... ok
[INFO] [stdout] test network::tcp_sender::tests::tcp_conn_connects_and_sends_payload ... ok
[INFO] [stdout] test network::tcp_listener::tests::tcp_listener_accepts_one_connection_and_reads_payload ... ok
[INFO] [stdout] test network::udp_sender::tests::test_per_request_send ... ok
[INFO] [stdout] test network::util::tests::classify_private_ranges ... ok
[INFO] [stdout] test network::udp_sender::tests::test_queue_worker_sends ... ok
[INFO] [stdout] test network::util::tests::get_private_ipv4_is_optional_and_valid ... ok
[INFO] [stdout] test utilities::logger::tests::test_format_line_with_fixed_timestamp ... ok
[INFO] [stdout] test utilities::logger::tests::test_log_level_display_strings ... ok
[INFO] [stdout] test utilities::crypto::tests::test_encrypt_decrypt_success ... FAILED
[INFO] [stdout] test network::util::tests::get_private_ipv4_with_mac_optional_and_valid ... ok
[INFO] [stdout] test utilities::logger::tests::test_multiple_levels_format ... ok
[INFO] [stdout] test core::topology::peer_table::tests::peer_table_anti_entropy_disables_only_expired_peers ... FAILED
[INFO] [stdout] test utilities::logger::tests::test_file_logger_writes_lines ... ok
[INFO] [stdout] test core::topology::peer_table::tests::peer_valid_false_with_negative_offset_expired ... FAILED
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] thread 'fs::fs_listener::tests::watch_dir_receives_create_event' (4320) panicked at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:233:5:
[INFO] [stdout] thread 'notify-rs inotify loop' (4371) panicked at server/src/fs/fs_listener.rs:140:48:
[INFO] [stderr] panic in a destructor during cleanup
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60afe4b20861 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x60afe4b3941a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x60afe4b2555c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x60afe4af8606 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x60afe4b16d09 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x60afe493c1a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x60afe4b17032 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x60afe4af86e4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x60afe4af0d39 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x60afe4af97bd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x60afe4b39c3c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x60afe4b39c02 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x60afe4b399b9 - core[a373ad73a504971]::option::unwrap_failed
[INFO] [stdout]   13:     0x60afe48413af - server[c139d6eb4aa09982]::fs::fs_listener::is_ignored_path
[INFO] [stdout]   14:     0x60afe47b62d5 - <alloc[2e1b2a31b91974c5]::vec::Vec<std[617be2ca0a6fd877]::path::PathBuf>>::retain::<server[c139d6eb4aa09982]::fs::fs_listener::filter_event::{closure#0}>
[INFO] [stdout]   15:     0x60afe4840f00 - server[c139d6eb4aa09982]::fs::fs_listener::filter_event
[INFO] [stdout]   16:     0x60afe48417e2 - <<server[c139d6eb4aa09982]::fs::fs_listener::FsListener>::watch<&std[617be2ca0a6fd877]::path::Path>::{closure#0} as notify[7efc39f330c38bc5]::EventHandler>::handle_event
[INFO] [stdout]   17:     0x60afe497e6fc - <notify[7efc39f330c38bc5]::inotify::EventLoop>::event_loop_thread
[INFO] [stdout]   18:     0x60afe498b7e4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<<notify[7efc39f330c38bc5]::inotify::EventLoop>::run::{closure#0}, ()>
[INFO] [stdout]   19:     0x60afe498d4c6 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<<notify[7efc39f330c38bc5]::inotify::EventLoop>::run::{closure#0}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x60afe4b1f23f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x73a63f11adfa - <unknown>
[INFO] [stdout]   22:     0x73a63f1ae3d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] thread 'fs::fs_listener::tests::watch_dir_receives_create_event' (4320) panicked at server/src/fs/fs_listener.rs:234:9:
[INFO] [stdout] expected at least one filesystem event after creating a file
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60afe4b20861 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x60afe4b3941a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x60afe4b2555c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x60afe4af8606 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x60afe4b16d09 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x60afe493c1a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x60afe4b17032 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x60afe4af86e4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x60afe4af0d39 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x60afe4af97bd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x60afe4b39c3c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x60afe48bbbea - server[c139d6eb4aa09982]::fs::fs_listener::tests::watch_dir_receives_create_event::{closure#0}
[INFO] [stdout]   12:     0x60afe480d923 - <tokio[c43995024a5e1946]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   13:     0x60afe484879c - <tokio[c43995024a5e1946]::runtime::context::scoped::Scoped<tokio[c43995024a5e1946]::runtime::scheduler::Context>>::set::<<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   14:     0x60afe480efa7 - <tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   15:     0x60afe47e3ef7 - tokio[c43995024a5e1946]::runtime::context::runtime::enter_runtime::<<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   16:     0x60afe4857745 - <tokio[c43995024a5e1946]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x60afe48c5cce - <server[c139d6eb4aa09982]::fs::fs_listener::tests::watch_dir_receives_create_event::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x60afe492f5eb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x60afe493c7c5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x60afe49360b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x60afe493f852 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x60afe4b1f23f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x73a63f11adfa - <unknown>
[INFO] [stdout]   24:     0x73a63f1ae3d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] thread 'fs::fs_listener::tests::watch_dir_receives_create_event' (4320) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/notify-8.2.0/src/inotify.rs:609:51:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: SendError { .. }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60afe4b20861 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x60afe4b3941a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x60afe4b2555c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x60afe4af8606 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x60afe4b16d09 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x60afe493c1a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x60afe4b17032 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x60afe4af86b2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x60afe4af0d39 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x60afe4af97bd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x60afe4b39c3c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x60afe4b39a12 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x60afe49815d0 - <notify[7efc39f330c38bc5]::inotify::INotifyWatcher as core[a373ad73a504971]::ops::drop::Drop>::drop
[INFO] [stdout]   13:     0x60afe48b309d - core[a373ad73a504971]::ptr::drop_glue::<server[c139d6eb4aa09982]::fs::fs_listener::FsListener>
[INFO] [stdout]   14:     0x60afe48bbcd5 - server[c139d6eb4aa09982]::fs::fs_listener::tests::watch_dir_receives_create_event::{closure#0}
[INFO] [stdout]   15:     0x60afe480d923 - <tokio[c43995024a5e1946]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   16:     0x60afe484879c - <tokio[c43995024a5e1946]::runtime::context::scoped::Scoped<tokio[c43995024a5e1946]::runtime::scheduler::Context>>::set::<<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   17:     0x60afe480efa7 - <tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   18:     0x60afe47e3ef7 - tokio[c43995024a5e1946]::runtime::context::runtime::enter_runtime::<<tokio[c43995024a5e1946]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   19:     0x60afe4857745 - <tokio[c43995024a5e1946]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   20:     0x60afe48c5cce - <server[c139d6eb4aa09982]::fs::fs_listener::tests::watch_dir_receives_create_event::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   21:     0x60afe492f5eb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   22:     0x60afe493c7c5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   23:     0x60afe49360b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   24:     0x60afe493f852 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   25:     0x60afe4b1f23f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   26:     0x73a63f11adfa - <unknown>
[INFO] [stdout]   27:     0x73a63f1ae3d4 - clone
[INFO] [stdout]   28:                0x0 - <unknown>
[INFO] [stderr] error: test failed, to rerun pass `-p server --lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/release/build/server/6b08bb21ba77bccd/out/server-6b08bb21ba77bccd` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc", kill_on_drop: false }`
[INFO] [stdout] ba643cf2c6473fbb3303f46106d12abc4a5a291f0495d386f739f698438cddfc
