[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 beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahatianx%2Flumo" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hahatianx/lumo
[INFO] finished tweaking git repo https://github.com/hahatianx/lumo
[INFO] tweaked toml for git repo https://github.com/hahatianx/lumo written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hahatianx/lumo on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9f43705a5c6ed69089b6f21eb95ebd9793b700d167ee2d3267898935b1cfc128
[INFO] running `Command { std: "docker" "start" "-a" "9f43705a5c6ed69089b6f21eb95ebd9793b700d167ee2d3267898935b1cfc128", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f43705a5c6ed69089b6f21eb95ebd9793b700d167ee2d3267898935b1cfc128", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f43705a5c6ed69089b6f21eb95ebd9793b700d167ee2d3267898935b1cfc128", kill_on_drop: false }`
[INFO] [stdout] 9f43705a5c6ed69089b6f21eb95ebd9793b700d167ee2d3267898935b1cfc128
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4b8135b0d3e3ccfde48c3a0e26644eaf50aacf85807f9a2852ebf4337f38f1a
[INFO] running `Command { std: "docker" "start" "-a" "a4b8135b0d3e3ccfde48c3a0e26644eaf50aacf85807f9a2852ebf4337f38f1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling type-map v0.5.1
[INFO] [stderr]    Compiling self_cell v1.2.1
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling self_cell v0.10.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling rust-embed-utils v8.9.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling no-std-net v0.6.0
[INFO] [stderr]    Compiling io_tee v0.1.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling pnet_base v0.34.0
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling inotify v0.11.0
[INFO] [stderr]    Compiling chacha20 v0.10.0-rc.2
[INFO] [stderr]    Compiling pnet_sys v0.34.0
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling rand v0.10.0-rc.0
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling rust-embed-impl v8.9.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[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 futures-util v0.3.31
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling rust-embed v8.9.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling unic-langid-impl v0.9.6
[INFO] [stderr]    Compiling fluent-syntax v0.11.1
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling scrypt v0.11.0
[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 pin-project v1.1.10
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling fluent-bundle v0.15.3
[INFO] [stderr]    Compiling fluent v0.16.1
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling ipnetwork v0.20.0
[INFO] [stderr]    Compiling notify-types v2.0.0
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling pnet_datalink v0.34.0
[INFO] [stderr]    Compiling api_model v0.1.0 (/opt/rustwide/workdir/api_model)
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling cookie-factory v0.3.3
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling basic-toml v0.1.10
[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 age-core v0.11.0
[INFO] [stderr]    Compiling i18n-config v0.4.8
[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 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 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: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_key` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_paths` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 30 -     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout] 30 +     fn open_lumo(&self, path: &VirtualPath) -> impl std::future::Future<Output = Result<LumoFile>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 35 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 38 |         passphrase: &str,
[INFO] [stdout] 39 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 41 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 44 |         passphrase: &str,
[INFO] [stdout] 45 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs_lock::RwLock`
[INFO] [stdout]  --> server/src/fs/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use fs_lock::RwLock;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LumoVfs`
[INFO] [stdout]   --> server/src/fs/mod.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use vfs_interface::{LumoVfs, VfsEncryption, VfsLock};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `private_key_location` and `public_key_location` are never read
[INFO] [stdout]   --> server/src/config/env_var.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct KeySpec {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 13 |     private_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     public_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeySpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key_spec` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Identity {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     key_spec: KeySpec,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Identity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `working_dir` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AppConfig {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     working_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_peer_expires_after_in_sec` and `get_working_dir` are never used
[INFO] [stdout]   --> server/src/config/env_var.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl AppConfig {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn update_peer_expires_after_in_sec(&mut self, new_value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_working_dir(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_temp_downloads_dir`, `get_private_key_location`, and `get_public_key_location` are never used
[INFO] [stdout]    --> server/src/config/env_var.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl EnvVar {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_temp_downloads_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_private_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_public_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_working_dir`, and `update_peer_expires_after_in_sec` are never used
[INFO] [stdout]   --> server/src/config/app_config.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SharedConfig {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(_env_var: &EnvVar) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub async fn get_working_dir(&self) -> String {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn update_peer_expires_after_in_sec(&self, new_value: u64) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shutdown_jobs` is never used
[INFO] [stdout]   --> server/src/core/tasks/mod.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub async fn shutdown_jobs() -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Shutdown` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum JobStatus {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_tx` is never read
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct JobSummary {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub shutdown_tx: Option<tokio::sync::oneshot::Sender<()>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_status`, `update_status_msg`, and `shutdown` are never used
[INFO] [stdout]    --> server/src/core/tasks/job_summary.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl JobSummary {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub async fn update_status(&mut self, new_status: JobStatus) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub async fn update_status_msg(&mut self, status_msg: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JobCallbackError` is never constructed
[INFO] [stdout]    --> server/src/core/tasks/jobs/job_genre/claimable_job.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum ClaimableJobTakeoverError {
[INFO] [stdout]     |          ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 171 |     JobCallbackError,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClaimableJobTakeoverError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_peer`, `promote_peer`, `refresh_peer`, and `disable_peer` are never used
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl PeerTable {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub async fn remove_peer(&self, peer: Peer) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn promote_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn refresh_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn disable_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `same_file` and `path` are never used
[INFO] [stdout]    --> server/src/fs/file.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl LumoFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn same_file(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn path(&self) -> &ActualFilePath {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `all` is never used
[INFO] [stdout]   --> server/src/fs/util.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl DirPermissions {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 57 |     /// Convenience: all permissions are granted.
[INFO] [stdout] 58 |     pub const fn all() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_join` is never used
[INFO] [stdout]    --> server/src/fs/util.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn secure_join<P: AsRef<Path>>(base: P, rel: &str) -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_active`, `set_stale`, `set_last_writer`, and `needs_rescan` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl FileEntry {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn set_active(&mut self, from_ver: u64, active: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn set_stale(&mut self, from_ver: u64, stale: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn set_last_writer(&mut self, from_ver: u64, writer: impl Into<String>) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn needs_rescan(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains_key` and `debug` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:373:18
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn len(&self) -> usize {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub async fn with_entry<T>(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub(crate) async fn candidates_by_size(&self, size: u64) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub(crate) async fn candidates_by_size_mtime(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub async fn candidates_for(&self, file: &LumoFile) -> Vec<VirtualPath> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_download_tasks.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PendingFileDownloadTask {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PendingPull {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `basename` and `dirname` are never used
[INFO] [stdout]   --> server/src/fs/vfs/virtual_file.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl VirtualFilePath {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn basename(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn dirname(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VfsEncryption` is never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait VfsEncryption {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TempFile` is never used
[INFO] [stdout]  --> server/src/fs/virtual_file_system.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type TempFile = TempFilePath;
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `spawn_per_request` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl NetworkSender {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn spawn_per_request(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_once` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | async fn send_once(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_addr` and `shutdown` are never used
[INFO] [stdout]    --> server/src/network/tcp_sender.rs:91:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl TcpConn {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub async fn shutdown(mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identity_from_password` is never used
[INFO] [stdout]    --> server/src/utilities/crypto.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(crate) fn identity_from_password(password: &str, salt: &str) -> Result<age::x25519::Identity> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmpDirGuard` is never constructed
[INFO] [stdout]  --> server/src/utilities/temp_dir.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TmpDirGuard(pub PathBuf);
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/utilities/temp_dir.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl TmpDirGuard {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 15s
[INFO] running `Command { std: "docker" "inspect" "a4b8135b0d3e3ccfde48c3a0e26644eaf50aacf85807f9a2852ebf4337f38f1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4b8135b0d3e3ccfde48c3a0e26644eaf50aacf85807f9a2852ebf4337f38f1a", kill_on_drop: false }`
[INFO] [stdout] a4b8135b0d3e3ccfde48c3a0e26644eaf50aacf85807f9a2852ebf4337f38f1a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8884fa2736db2186d4b3124f7e7aaebc9f2550fdf06c489d0c42f1c42e9e0394
[INFO] running `Command { std: "docker" "start" "-a" "8884fa2736db2186d4b3124f7e7aaebc9f2550fdf06c489d0c42f1c42e9e0394", 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 cli_handler v0.1.0 (/opt/rustwide/workdir/cli_handler)
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling serial_test v3.2.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling server v0.1.0 (/opt/rustwide/workdir/server)
[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] [stdout] warning: associated functions `to_utf8` and `parse_from_str` are never used
[INFO] [stdout]   --> api_model/src/protocol/token.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Token {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 22 |     #[inline]
[INFO] [stdout] 23 |     fn to_utf8(bytes: &[u8]) -> Result<&str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn parse_from_str<T>(s: &str, what: &str) -> Result<T>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/action/list_tasks.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             JobStatus::Running => xterm_color::bold("Running"),
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] 67 |             JobStatus::Completed => xterm_color::bold_green("Completed"),
[INFO] [stdout]    |             -------------------- matches some of the same values
[INFO] [stdout] 68 |             JobStatus::Failed => xterm_color::bold_red("Failed"),
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] 69 |             JobStatus::TimedOut => xterm_color::bold_yellow("Timed out"),
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 72 |             _ => xterm_color::red("Unknown"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/error/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/error/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |             ClientError::ConnectionBindError(msg, _) => write!(f, "Connection bind error: {}", msg),
[INFO] [stdout]    |             ---------------------------------------- matches some of the same values
[INFO] [stdout] 19 |             ClientError::ConnectionTimeoutError(msg, _) => {
[INFO] [stdout]    |             ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 22 |             ClientError::ConnectionReceiverError(msg, _) => {
[INFO] [stdout]    |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 25 |             ClientError::ResponseParseError(msg, _) => write!(f, "Response parse error: {}", msg),
[INFO] [stdout]    |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 28 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> client/src/error/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> client/src/error/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             ClientError::ConnectionBindError(msg, trace) => {
[INFO] [stdout]    |             -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 39 |             ClientError::ConnectionTimeoutError(msg, trace) => {
[INFO] [stdout]    |             ----------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 42 |             ClientError::ConnectionReceiverError(msg, trace) => {
[INFO] [stdout]    |             ------------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 45 |             ClientError::ResponseParseError(msg, trace) => {
[INFO] [stdout]    |             ------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 52 |             _ => write!(f, "Unknown error"),
[INFO] [stdout]    |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ConnectionTimeoutError` and `InternalError` are never constructed
[INFO] [stdout]   --> client/src/error/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub enum ClientError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  7 |     ConnectionTimeoutError(String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     InternalError(String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `idx` is never read
[INFO] [stdout]  --> client/src/format/table.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TableColumn {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |     pub(crate) idx: usize,
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> client/src/format/table.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TableColumn {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new(idx: usize, name: &'static str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `N` is never used
[INFO] [stdout]   --> client/src/format/table.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait Schema {
[INFO] [stdout]    |           ------ associated constant in this trait
[INFO] [stdout] 16 |     const N: usize;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `green` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn green(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yellow` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn yellow(text: &str) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blue` is never used
[INFO] [stdout]   --> client/src/format/xterm_color.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn blue(text: &str) -> String {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling age-core v0.11.0
[INFO] [stderr]    Compiling age v0.11.1
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_key` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_paths` is never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 30 -     async fn open_lumo(&self, path: &VirtualPath) -> Result<LumoFile>;
[INFO] [stdout] 30 +     fn open_lumo(&self, path: &VirtualPath) -> impl std::future::Future<Output = Result<LumoFile>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     fn f_to_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 35 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 38 |         passphrase: &str,
[INFO] [stdout] 39 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     async fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 40 ~     fn f_from_encryption<F: VfsResolvable, T: VfsResolvable>(
[INFO] [stdout] 41 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 44 |         passphrase: &str,
[INFO] [stdout] 45 ~     ) -> impl std::future::Future<Output = Result<()>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ENV_VAR`
[INFO] [stdout]  --> server/src/core/protocol/file_send.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::global_var::LOGGER`
[INFO] [stdout]  --> server/src/core/tasks/jobs/job_fs_index_dump.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::global_var::LOGGER;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_fs_pull_initiate.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]    --> server/src/core/tasks/task_queue.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> server/src/fs/file.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> server/src/fs/util.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Index`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::ops::Index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]   --> server/src/fs/fs_index.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utilities::temp_dir::TmpDirGuard`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use crate::utilities::temp_dir::TmpDirGuard;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     use std::fs;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> server/src/utilities/logger.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | /             return LOGGER_CELL
[INFO] [stdout] 216 | |                 .get()
[INFO] [stdout] 217 | |                 .expect("LOGGER_CELL should be set by test fallback");
[INFO] [stdout]     | |_____________________________________________________________________- any code following this expression is unreachable
[INFO] [stdout] 218 |           }
[INFO] [stdout] 219 |           LOGGER_CELL.get().expect("LOGGER_CELL should be set")
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |     use tokio::io::AsyncReadExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused 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: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut p1 = Peer::new(
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut p2 = Peer::new(
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut p = Peer::new(
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lf`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1381:13
[INFO] [stdout]      |
[INFO] [stdout] 1381 |         let lf = LumoFile::new(&vfs, &vp).await.unwrap();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_lf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let mut handle = tokio::spawn({
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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: 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: 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: 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 import: `fs_lock::RwLock`
[INFO] [stdout]  --> server/src/fs/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use fs_lock::RwLock;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]  --> server/src/fs/task_management/file_download_tasks.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActualFilePath` and `VfsEncryption`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::fs::{ActualFilePath, TempFilePath, VFS, VfsEncryption, VfsLock, VirtualPath};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utilities::temp_dir::TmpDirGuard`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     use crate::utilities::temp_dir::TmpDirGuard;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> server/src/fs/vfs/actual_file.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     use std::fs;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LumoVfs`
[INFO] [stdout]   --> server/src/fs/mod.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use vfs_interface::{LumoVfs, VfsEncryption, VfsLock};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fs::fs_lock`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::fs::fs_lock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LOGGER`
[INFO] [stdout]  --> server/src/utilities/crypto.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::global_var::{ENV_VAR, LOGGER};
[INFO] [stdout]   |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OpenOptions` and `self`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::{self, OpenOptions};
[INFO] [stdout]    |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `BufWriter`, `Read`, `Seek`, and `Write`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::{BufReader, BufWriter, Read, Seek, Write};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> server/src/utilities/crypto.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vfs`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1121:9
[INFO] [stdout]      |
[INFO] [stdout] 1121 |         vfs: &VirtualFileSystem,
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1067:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         for (path, arc) in guard.map.iter() {
[INFO] [stdout]      |              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active_peers`
[INFO] [stdout]   --> server/src/core/tasks/jobs/job_heartbeat.rs:21:21
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let active_peers = PEER_TABLE
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_active_peers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Int`, `Uint`, and `Bool` are never constructed
[INFO] [stdout]   --> server/src/config/config.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | enum ConfigInputValue {
[INFO] [stdout]    |      ---------------- variants in this enum
[INFO] [stdout] 83 |     String(String),
[INFO] [stdout] 84 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 85 |     Uint(u32),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 86 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `private_key_location` and `public_key_location` are never read
[INFO] [stdout]   --> server/src/config/env_var.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct KeySpec {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 13 |     private_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     public_key_location: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KeySpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key_spec` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Identity {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     key_spec: KeySpec,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Identity` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `working_dir` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AppConfig {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     working_dir: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_peer_expires_after_in_sec` and `get_working_dir` are never used
[INFO] [stdout]   --> server/src/config/env_var.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl AppConfig {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn update_peer_expires_after_in_sec(&mut self, new_value: u64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_working_dir(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_temp_downloads_dir`, `get_private_key_location`, and `get_public_key_location` are never used
[INFO] [stdout]    --> server/src/config/env_var.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl EnvVar {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn get_temp_downloads_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn get_private_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_public_key_location(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_working_dir`, and `update_peer_expires_after_in_sec` are never used
[INFO] [stdout]   --> server/src/config/app_config.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SharedConfig {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(_env_var: &EnvVar) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub async fn get_working_dir(&self) -> String {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn update_peer_expires_after_in_sec(&self, new_value: u64) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nonce` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileRecvSummary {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 20 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_checksum` is never read
[INFO] [stdout]   --> server/src/core/protocol/file_recv.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FileRecvTracker {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 46 |     nonce: Nonce,
[INFO] [stdout] 47 |     expected_checksum: Expected<Checksum>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nonce` and `checksum` are never read
[INFO] [stdout]   --> server/src/core/protocol/file_send.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileSendSummary {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 12 |     pub nonce: Nonce,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub file_size: u64,
[INFO] [stdout] 14 |     pub checksum: Checksum,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileMalformed` is never constructed
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FileSyncError {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     FileMalformed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileSyncError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `maybe_checksum` is never used
[INFO] [stdout]   --> server/src/core/protocol/file_sync.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl FileSyncAck {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn maybe_checksum(&self) -> Option<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shutdown_jobs` is never used
[INFO] [stdout]   --> server/src/core/tasks/mod.rs:98:14
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub async fn shutdown_jobs() -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Challenge` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type Challenge = u64;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Nonce` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Nonce = u64;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Checksum` is never used
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type Checksum = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FileChecksumMismatch` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum DownloadFileError {
[INFO] [stdout]    |      ----------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     FileChecksumMismatch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Shutdown` is never constructed
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum JobStatus {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_tx` is never read
[INFO] [stdout]   --> server/src/core/tasks/job_summary.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct JobSummary {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub shutdown_tx: Option<tokio::sync::oneshot::Sender<()>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_status`, `update_status_msg`, and `shutdown` are never used
[INFO] [stdout]    --> server/src/core/tasks/job_summary.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl JobSummary {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub async fn update_status(&mut self, new_status: JobStatus) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub async fn update_status_msg(&mut self, status_msg: String) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub async fn shutdown(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JobCallbackError` is never constructed
[INFO] [stdout]    --> server/src/core/tasks/jobs/job_genre/claimable_job.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum ClaimableJobTakeoverError {
[INFO] [stdout]     |          ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 171 |     JobCallbackError,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClaimableJobTakeoverError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_peer`, `promote_peer`, `refresh_peer`, and `disable_peer` are never used
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl PeerTable {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub async fn remove_peer(&self, peer: Peer) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn promote_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn refresh_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn disable_peer(&self, identifier: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `same_file` and `path` are never used
[INFO] [stdout]    --> server/src/fs/file.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl LumoFile {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn same_file(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn path(&self) -> &ActualFilePath {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `all` is never used
[INFO] [stdout]   --> server/src/fs/util.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl DirPermissions {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 57 |     /// Convenience: all permissions are granted.
[INFO] [stdout] 58 |     pub const fn all() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `secure_join` is never used
[INFO] [stdout]    --> server/src/fs/util.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn secure_join<P: AsRef<Path>>(base: P, rel: &str) -> Result<PathBuf> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_active`, `set_stale`, `set_last_writer`, and `needs_rescan` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl FileEntry {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn set_active(&mut self, from_ver: u64, active: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     pub fn set_stale(&mut self, from_ver: u64, stale: bool) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn set_last_writer(&mut self, from_ver: u64, writer: impl Into<String>) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn needs_rescan(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains_key` and `debug` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl FileIndexInner {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn contains_key(&self, path: &VirtualPath) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:373:18
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn len(&self) -> usize {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub async fn with_entry<T>(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub(crate) async fn list_paths(&self) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub(crate) async fn candidates_by_size(&self, size: u64) -> Vec<VirtualPath> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub(crate) async fn candidates_by_size_mtime(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub async fn candidates_for(&self, file: &LumoFile) -> Vec<VirtualPath> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub async fn debug(&self) -> String {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `activate_checked`, `deactivate_checked`, and `set_last_writer_checked` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:645:14
[INFO] [stdout]     |
[INFO] [stdout] 472 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 645 |     async fn activate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 677 |     async fn deactivate_checked(&self, path: &VirtualPath, from_ver: u64) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     async fn set_last_writer_checked(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `activate`, `deactivate`, `mark_stale`, and `set_last_writer` are never used
[INFO] [stdout]    --> server/src/fs/fs_index.rs:748:14
[INFO] [stdout]     |
[INFO] [stdout] 747 | impl FileIndex {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 748 |     async fn remove(&self, p: &VirtualPath) -> bool {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     async fn activate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     async fn deactivate(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 775 |     async fn mark_stale(&self, p: &VirtualPath) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     async fn set_last_writer(&self, p: &VirtualPath, writer: impl Into<String>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_lock` is never read
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct ReadGuard {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 255 |     file_lock: Arc<FileLockGuard>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadGuard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_download_tasks.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PendingFileDownloadTask {
[INFO] [stdout]    |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PendingPull {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub created_at: chrono::DateTime<chrono::Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `basename` and `dirname` are never used
[INFO] [stdout]   --> server/src/fs/vfs/virtual_file.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl VirtualFilePath {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn basename(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn dirname(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `read` are never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait Vfs {
[INFO] [stdout]    |                  --- methods in this trait
[INFO] [stdout] 15 |     async fn write<R: VfsResolvable>(&self, path: &R, data: &[u8]) -> Result<()>;
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     async fn read<R: VfsResolvable>(&self, path: &R) -> Result<Vec<u8>>;
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VfsEncryption` is never used
[INFO] [stdout]   --> server/src/fs/vfs_interface.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait VfsEncryption {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TempFile` is never used
[INFO] [stdout]  --> server/src/fs/virtual_file_system.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type TempFile = TempFilePath;
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `meta_dir` is never read
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct VirtualFileSystem {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 27 |     working_dir: PathBuf,
[INFO] [stdout] 28 |     meta_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_working_dir` is never used
[INFO] [stdout]   --> server/src/fs/virtual_file_system.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl VirtualFileSystem {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub(crate) fn get_working_dir(&self) -> &Path {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `local_addr` is never used
[INFO] [stdout]   --> server/src/network/udp_listener.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl UdpListener {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `spawn_per_request` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl NetworkSender {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn spawn_per_request(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_once` is never used
[INFO] [stdout]    --> server/src/network/udp_sender.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | async fn send_once(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `bind_on` and `local_addr` are never used
[INFO] [stdout]   --> server/src/network/tcp_listener.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpListener {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn bind_on(addr: SocketAddr) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connect_timeout` is never read
[INFO] [stdout]   --> server/src/network/tcp_sender.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TcpConn {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     connect_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TcpConn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_addr` and `shutdown` are never used
[INFO] [stdout]    --> server/src/network/tcp_sender.rs:91:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl TcpConn {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn local_addr(&self) -> std::io::Result<SocketAddr> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub async fn shutdown(mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identity_from_password` is never used
[INFO] [stdout]    --> server/src/utilities/crypto.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub(crate) fn identity_from_password(password: &str, salt: &str) -> Result<age::x25519::Identity> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TmpDirGuard` is never constructed
[INFO] [stdout]  --> server/src/utilities/temp_dir.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TmpDirGuard(pub PathBuf);
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> server/src/utilities/temp_dir.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl TmpDirGuard {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> server/src/utilities/logger.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | /             return LOGGER_CELL
[INFO] [stdout] 216 | |                 .get()
[INFO] [stdout] 217 | |                 .expect("LOGGER_CELL should be set by test fallback");
[INFO] [stdout]     | |_____________________________________________________________________- any code following this expression is unreachable
[INFO] [stdout] 218 |           }
[INFO] [stdout] 219 |           LOGGER_CELL.get().expect("LOGGER_CELL should be set")
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:45
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncReadExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |     use tokio::io::AsyncReadExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> server/src/fs/task_management/file_request_tasks.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/interface/handlers/local_pull_file.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         Err(e) => LocalPullFileResult::Reject(PullFileError::InternalError),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |             PullDecision::Accept(c, n) => n,
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> server/src/core/tasks/handlers/message_pull_response_handler.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 |             PullDecision::Reject(c, r) => {
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused 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: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut p1 = Peer::new(
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut p2 = Peer::new(
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/core/topology/peer_table.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut p = Peer::new(
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arc_vfs`
[INFO] [stdout]   --> server/src/fs/fs_listener.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let arc_vfs = Arc::clone(&vfs);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_vfs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lf`
[INFO] [stdout]     --> server/src/fs/fs_index.rs:1381:13
[INFO] [stdout]      |
[INFO] [stdout] 1381 |         let lf = LumoFile::new(&vfs, &vp).await.unwrap();
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_lf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> server/src/fs/fs_lock.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let mut handle = tokio::spawn({
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `level`
[INFO] [stdout]    --> server/src/utilities/logger.rs:173:21
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     level,
[INFO] [stdout]     |                     ^^^^^ help: try ignoring the field: `level: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> server/src/utilities/logger.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |                     msg,
[INFO] [stdout]     |                     ^^^ help: try ignoring the field: `msg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts_millis`
[INFO] [stdout]    --> server/src/utilities/logger.rs:175:21
[INFO] [stdout]     |
[INFO] [stdout] 175 |                     ts_millis,
[INFO] [stdout]     |                     ^^^^^^^^^ help: try ignoring the field: `ts_millis: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_sync_port` is never read
[INFO] [stdout]   --> server/src/config/env_var.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | struct ConnectionConfig {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     file_sync_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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]     Finished `test` profile [unoptimized + debuginfo] target(s) in 42.91s
[INFO] running `Command { std: "docker" "inspect" "8884fa2736db2186d4b3124f7e7aaebc9f2550fdf06c489d0c42f1c42e9e0394", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8884fa2736db2186d4b3124f7e7aaebc9f2550fdf06c489d0c42f1c42e9e0394", kill_on_drop: false }`
[INFO] [stdout] 8884fa2736db2186d4b3124f7e7aaebc9f2550fdf06c489d0c42f1c42e9e0394
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] eacb12c3e45e2acd0d7acaba9c4ae70ab9067ee9dbff0e4792f2d0c470b4dcaa
[INFO] running `Command { std: "docker" "start" "-a" "eacb12c3e45e2acd0d7acaba9c4ae70ab9067ee9dbff0e4792f2d0c470b4dcaa", 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: 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: 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 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: 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 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: 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 53 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 57 warnings (44 duplicates) (run `cargo fix --lib -p server --tests` to apply 9 suggestions)
[INFO] [stderr] warning: `server` (bin "server") generated 79 warnings (48 duplicates) (run `cargo fix --bin "server" -p server` to apply 2 suggestions)
[INFO] [stderr] warning: `server` (bin "server" test) generated 71 warnings (66 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.60s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/api_model-3f04dbd27453c8b3)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test protocol::message::api_request_message::tests::serialize_format_info ... 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_request_message::tests::deserialize_wrong_header ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::deserialize_invalid_request_payload ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::deserialize_port_out_of_range ... ok
[INFO] [stdout] test protocol::message::api_response_message::tests::deserialize_invalid_payload ... ok
[INFO] [stdout] test protocol::message::api_request_message::tests::roundtrip_list_peers ... 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::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::to_bytes_data ... 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::to_bytes_error ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_null ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_simple ... ok
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stdout] test protocol::token::tests::round_trip ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_float ... ok
[INFO] [stdout] test protocol::token::tests::to_bytes_integer ... ok
[INFO] [stdout] test protocol::message::api_response_message::tests::serialize_format_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cli_handler-1f7a7f69dd42ef73)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/client-8e08c70ac4a5d36b)
[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] [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/debug/deps/server-a175b867520d765f)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test config::config::tests::dump_creates_parent_dirs_and_writes_toml ... ok
[INFO] [stdout] test config::config::tests::from_config_expands_tilde_with_home ... ok
[INFO] [stdout] test config::config::tests::config_input_value_to_string_variants ... ok
[INFO] [stdout] test config::config::tests::test_pattern_empty_and_invalid_regex ... ok
[INFO] [stdout] test config::config::tests::prompt_formats_with_and_without_default ... ok
[INFO] [stdout] test config::opts::tests::parse_version_flag ... 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::handle_invokes_callback_success ... 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_failure ... ok
[INFO] [stdout] test config::opts::tests::missing_required_config_without_version_errors ... 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::low_level_tasks::task_send_control_message::tests::drain_bytes_moves_payload_for_broadcast ... ok
[INFO] [stdout] test config::config::tests::rust_version_regex ... ok
[INFO] [stdout] test core::tasks::task_queue::tests::task_queue_accepts_and_processes ... ok
[INFO] [stdout] test core::tasks::jobs::job_genre::periodic_job::tests::periodic_job_handle_runs_and_shutdowns ... ok
[INFO] [stdout] test core::tasks::jobs::job_genre::periodic_job::tests::launch_periodic_job_integration_with_task_queue ... ok
[INFO] [stdout] test config::env_var::tests::envvar_from_config_expands_tilde_and_preserves_fields ... FAILED
[INFO] [stdout] test core::tasks::jobs::job_heartbeat::tests::heartbeat_closure_runs_with_no_active_peers ... FAILED
[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_encryption::tests::test_vfs_encryption_wrong_passphrase ... FAILED
[INFO] [stdout] test config::app_config::tests::app_config_access_and_update_works ... FAILED
[INFO] [stdout] test core::topology::peer_table::tests::peer_valid_true_with_positive_offset_within_expiry ... FAILED
[INFO] [stdout] test fs::fs_index::tests::candidates_by_size_mtime_and_candidates_for_with_hardlink ... FAILED
[INFO] [stdout] test fs::fs_index::tests::candidates_by_size_and_remove_updates_indices ... FAILED
[INFO] [stdout] test fs::fs_listener::tests::watch_nonexistent_path_errors ... ok
[INFO] [stdout] test core::tasks::jobs::job_genre::oneshot_job::tests::launch_oneshot_job_integration_marks_job_completed ... ok
[INFO] [stdout] test fs::fs_lock::tests::cancellation_during_first_reader_init_does_not_leak ... FAILED
[INFO] [stdout] test fs::fs_index::more_fs_index_concurrency_tests::inactive_clean_removes_expired_inactive_entries ... FAILED
[INFO] [stdout] test fs::fs_lock::tests::concurrent_reads_and_write_blocking ... 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_index::tests::upsert_contains_list_and_flags ... 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_lock::tests::write_exclusive_against_reads_and_writes ... FAILED
[INFO] [stdout] test fs::fs_index::more_fs_index_set_active_tests::set_active_flips_state_and_is_consistent ... FAILED
[INFO] [stdout] test fs::tests::init_fs_errors_when_path_is_file ... ok
[INFO] [stdout] test fs::util::tests::check_permissions_nonexistent_dir_all_false ... ok
[INFO] [stdout] test fs::util::tests::round_to_fat32_floors_even_seconds_and_subsecs ... ok
[INFO] [stdout] test fs::util::tests::expand_tilde_unset_home_leaves_tilde_path ... ok
[INFO] [stdout] test fs::util::tests::expand_tilde_leaves_non_tilde_paths_unchanged ... ok
[INFO] [stdout] test fs::util::tests::round_to_fat32_pre_epoch_clamps_to_epoch ... ok
[INFO] [stdout] test fs::util::tests::check_current_dir_permissions ... ok
[INFO] [stdout] test fs::vfs::actual_file::tests::test_to_path ... ok
[INFO] [stdout] test fs::vfs::virtual_file::tests::test_basename_dirname ... ok
[INFO] [stdout] test fs::fs_listener::tests::unwatched_disc_folder_does_not_emit_events ... FAILED
[INFO] [stdout] test fs::util::tests::check_permissions_writable_temp_dir_has_write ... 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::virtual_file_system::tests::test_vfs_resolve ... FAILED
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] thread 'fs::fs_listener::tests::watch_dir_receives_create_event' (333) panicked at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:233:5:
[INFO] [stdout] thread 'notify-rs inotify loop' (338) 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:     0x5609948f9c7a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5609948f9c7a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5609948f9c7a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5609948f9c7a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x56099491273a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x56099491273a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5609948feff2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5609948feff2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5609948d4c9f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5609948d4c9f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5609948f0449 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x56099437442c - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x56099437442c - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5609948f06c2 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5609948f06c2 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5609948d4d8a - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5609948cc159 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5609948d5ebd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5609949130cc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x560994913092 - core[10b6fa85044e1869]::panicking::panic
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x560994912db9 - core[10b6fa85044e1869]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/option.rs:2236:5
[INFO] [stdout]   21:     0x56099412136b - core::option::Option<T>::unwrap::h9af2e7704a761184
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x56099412136b - server::fs::fs_listener::is_ignored_path::h5ec7fe2597d28f47
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:140:48
[INFO] [stdout]   23:     0x560994121013 - server::fs::fs_listener::filter_event::{{closure}}::h9d8f27cec26bc6d8
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:161:12
[INFO] [stdout]   24:     0x5609940467a6 - alloc::vec::Vec<T,A>::retain::{{closure}}::h1a4ce0ad84de8b5a
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/vec/mod.rs:2429:32
[INFO] [stdout]   25:     0x560994042bdd - alloc::vec::Vec<T,A>::retain_mut::hb5dd1fe1e571a905
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/vec/mod.rs:2502:32
[INFO] [stdout]   26:     0x560994046763 - alloc::vec::Vec<T,A>::retain::h23864d7658ea1fff
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/vec/mod.rs:2429:14
[INFO] [stdout]   27:     0x560994120f21 - server::fs::fs_listener::filter_event::hd90d85fd478bb84e
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:160:14
[INFO] [stdout]   28:     0x560994120b7f - server::fs::fs_listener::FsListener::watch::{{closure}}::heafc9e279037b69c
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:42:39
[INFO] [stdout]   29:     0x56099411b3ca - <F as notify::EventHandler>::handle_event::hfa1f51e754bc0fbd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/notify-8.2.0/src/lib.rs:254:9
[INFO] [stdout]   30:     0x560994405bbf - notify::inotify::EventLoop::handle_inotify::h1305b38ac6dfd3de
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/notify-8.2.0/src/inotify.rs:359:52
[INFO] [stdout]   31:     0x560994402fa2 - notify::inotify::EventLoop::handle_event::h418db51b5bb6360e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/notify-8.2.0/src/inotify.rs:162:22
[INFO] [stdout]   32:     0x560994407507 - notify::inotify::EventLoop::event_loop_thread::hf8848efefe7bb9bd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/notify-8.2.0/src/inotify.rs:143:22
[INFO] [stdout]   33:     0x56099440839f - notify::inotify::EventLoop::run::{{closure}}::hd7bafd85f2fa1632
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/notify-8.2.0/src/inotify.rs:125:28
[INFO] [stdout]   34:     0x5609943ddb46 - std::sys::backtrace::__rust_begin_short_backtrace::h6abde960d60ef9b1
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5609943fe11f - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h4bfc2935936688e0
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5609943e6824 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::he6040427535cfd18
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x560994410484 - std::panicking::catch_unwind::do_call::hd3738c26846416c1
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5609943fed2b - __rust_try
[INFO] [stdout]   39:     0x5609943fdd96 - std::panicking::catch_unwind::hadc490a50bf1203f
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5609943fdd96 - std::panic::catch_unwind::h8d209e1cbceab88f
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5609943fdd96 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h5383865f77a3b35b
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5609943e71ff - core::ops::function::FnOnce::call_once{{vtable.shim}}::h1c198f68ed753054
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5609948f8b3f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   44:     0x5609948f8b3f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x734dcf485aa4 - <unknown>
[INFO] [stdout]   46:     0x734dcf512a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] thread 'fs::fs_listener::tests::watch_dir_receives_create_event' (333) 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:     0x5609948f9c7a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5609948f9c7a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5609948f9c7a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5609948f9c7a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x56099491273a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x56099491273a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5609948feff2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5609948feff2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5609948d4c9f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5609948d4c9f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5609948f0449 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x56099437442c - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x56099437442c - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5609948f06c2 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5609948f06c2 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5609948d4d8a - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5609948cc159 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5609948d5ebd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5609949130cc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5609941220b2 - server::fs::fs_listener::tests::watch_dir_receives_create_event::{{closure}}::hd008b505a7c9466a
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:234:9
[INFO] [stdout]   20:     0x5609940f2952 - <core::pin::Pin<P> as core::future::future::Future>::poll::h5c0e6ced0abfc6a2
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]   21:     0x5609940f2c6d - <core::pin::Pin<P> as core::future::future::Future>::poll::hc74dac5a06b5005c
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x560993fdc71d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h711942f77afbe0b0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   23:     0x560993fdc2db - tokio::task::coop::with_budget::h45cfd426187be3c9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   24:     0x560993fdc2db - tokio::task::coop::budget::h47e3e25a673ce716
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   25:     0x560993fdc2db - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h35c30abed355c3c5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   26:     0x560993fd6cb0 - tokio::runtime::scheduler::current_thread::Context::enter::hd8b850612f515583
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   27:     0x560993fdb7ed - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::hea9285b73fd36386
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   28:     0x560993fd91e4 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hce99e493e35b45ef
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   29:     0x560993fce45b - tokio::runtime::context::scoped::Scoped<T>::set::h159d6410d33868ee
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   30:     0x5609941bac09 - tokio::runtime::context::set_scheduler::{{closure}}::h5fd3be17b68689d4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:38
[INFO] [stdout]   31:     0x5609940f9872 - std::thread::local::LocalKey<T>::try_with::h750ac992627ac9c5
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   32:     0x5609940f641e - std::thread::local::LocalKey<T>::with::h9b480ab57de0f68d
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   33:     0x5609941baadd - tokio::runtime::context::set_scheduler::h7cb001459663401d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:17
[INFO] [stdout]   34:     0x560993fd8b20 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hc244dbdb7569722c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   35:     0x560993fd93c6 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h8ba8ea2e088b4811
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   36:     0x560993fcf4f0 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h331278982d8c2545
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   37:     0x560994063903 - tokio::runtime::context::runtime::enter_runtime::h1a4cfa8e57ca304f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   38:     0x560993fcf141 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h1d71ad883780a17f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   39:     0x560993fce9f4 - tokio::runtime::runtime::Runtime::block_on_inner::h4f7b1ed558add93c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   40:     0x560993fcef3f - tokio::runtime::runtime::Runtime::block_on::he7d7518c9101bbb8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   41:     0x560994121b33 - server::fs::fs_listener::tests::watch_dir_receives_create_event::h2c13966b3eb93e15
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:240:44
[INFO] [stdout]   42:     0x560994121bc7 - server::fs::fs_listener::tests::watch_dir_receives_create_event::{{closure}}::h25884acd9d551b3c
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:218:47
[INFO] [stdout]   43:     0x560993f041b6 - core::ops::function::FnOnce::call_once::hed9523c1111a0d27
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x56099436850b - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x56099436850b - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   46:     0x560994374efb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   47:     0x560994374efb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   48:     0x560994374efb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x560994374efb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x560994374efb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x560994374efb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   52:     0x560994374efb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   53:     0x560994370614 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   54:     0x560994370614 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   55:     0x560994377b02 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   56:     0x560994377b02 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   57:     0x560994377b02 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   58:     0x560994377b02 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   59:     0x560994377b02 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   60:     0x560994377b02 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   61:     0x560994377b02 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   62:     0x5609948f8b3f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   63:     0x5609948f8b3f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   64:     0x734dcf485aa4 - <unknown>
[INFO] [stdout]   65:     0x734dcf512a64 - clone
[INFO] [stdout]   66:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] thread 'fs::fs_listener::tests::watch_dir_receives_create_event' (333) 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:     0x5609948f9c7a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5609948f9c7a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5609948f9c7a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5609948f9c7a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x56099491273a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x56099491273a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5609948feff2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5609948feff2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5609948d4c9f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5609948d4c9f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5609948f0449 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x56099437442c - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x56099437442c - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5609948f06c2 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5609948f06c2 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5609948d4d58 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5609948cc159 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5609948d5ebd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5609949130cc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x560994912e12 - core[10b6fa85044e1869]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5609944089dc - core::result::Result<T,E>::unwrap::h30f432bf125972e0
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5609944089dc - <notify::inotify::INotifyWatcher as core::ops::drop::Drop>::drop::h88890dedd2f6b237
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/notify-8.2.0/src/inotify.rs:609:51
[INFO] [stdout]   22:     0x560993f21677 - core::ptr::drop_in_place<notify::inotify::INotifyWatcher>::ha76bc1c641e470b9
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ptr/mod.rs:805:1
[INFO] [stdout]   23:     0x560993f220a3 - core::ptr::drop_in_place<server::fs::fs_listener::FsListener>::h0e0166cf24fbe7a9
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ptr/mod.rs:805:1
[INFO] [stdout]   24:     0x560994122107 - server::fs::fs_listener::tests::watch_dir_receives_create_event::{{closure}}::hd008b505a7c9466a
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:241:5
[INFO] [stdout]   25:     0x5609940f2952 - <core::pin::Pin<P> as core::future::future::Future>::poll::h5c0e6ced0abfc6a2
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]   26:     0x5609940f2c6d - <core::pin::Pin<P> as core::future::future::Future>::poll::hc74dac5a06b5005c
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]   27:     0x560993fdc71d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h711942f77afbe0b0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   28:     0x560993fdc2db - tokio::task::coop::with_budget::h45cfd426187be3c9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   29:     0x560993fdc2db - tokio::task::coop::budget::h47e3e25a673ce716
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   30:     0x560993fdc2db - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h35c30abed355c3c5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   31:     0x560993fd6cb0 - tokio::runtime::scheduler::current_thread::Context::enter::hd8b850612f515583
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   32:     0x560993fdb7ed - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::hea9285b73fd36386
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   33:     0x560993fd91e4 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hce99e493e35b45ef
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   34:     0x560993fce45b - tokio::runtime::context::scoped::Scoped<T>::set::h159d6410d33868ee
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   35:     0x5609941bac09 - tokio::runtime::context::set_scheduler::{{closure}}::h5fd3be17b68689d4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:38
[INFO] [stdout]   36:     0x5609940f9872 - std::thread::local::LocalKey<T>::try_with::h750ac992627ac9c5
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   37:     0x5609940f641e - std::thread::local::LocalKey<T>::with::h9b480ab57de0f68d
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   38:     0x5609941baadd - tokio::runtime::context::set_scheduler::h7cb001459663401d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:17
[INFO] [stdout]   39:     0x560993fd8b20 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hc244dbdb7569722c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   40:     0x560993fd93c6 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h8ba8ea2e088b4811
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   41:     0x560993fcf4f0 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h331278982d8c2545
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   42:     0x560994063903 - tokio::runtime::context::runtime::enter_runtime::h1a4cfa8e57ca304f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   43:     0x560993fcf141 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h1d71ad883780a17f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   44:     0x560993fce9f4 - tokio::runtime::runtime::Runtime::block_on_inner::h4f7b1ed558add93c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   45:     0x560993fcef3f - tokio::runtime::runtime::Runtime::block_on::he7d7518c9101bbb8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   46:     0x560994121b33 - server::fs::fs_listener::tests::watch_dir_receives_create_event::h2c13966b3eb93e15
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:240:44
[INFO] [stdout]   47:     0x560994121bc7 - server::fs::fs_listener::tests::watch_dir_receives_create_event::{{closure}}::h25884acd9d551b3c
[INFO] [stdout]                                at /opt/rustwide/workdir/server/src/fs/fs_listener.rs:218:47
[INFO] [stdout]   48:     0x560993f041b6 - core::ops::function::FnOnce::call_once::hed9523c1111a0d27
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x56099436850b - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x56099436850b - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   51:     0x560994374efb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   52:     0x560994374efb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   53:     0x560994374efb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   54:     0x560994374efb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   55:     0x560994374efb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   56:     0x560994374efb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   57:     0x560994374efb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   58:     0x560994370614 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   59:     0x560994370614 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   60:     0x560994377b02 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   61:     0x560994377b02 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   62:     0x560994377b02 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   63:     0x560994377b02 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   64:     0x560994377b02 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   65:     0x560994377b02 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   66:     0x560994377b02 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   67:     0x5609948f8b3f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   68:     0x5609948f8b3f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   69:     0x734dcf485aa4 - <unknown>
[INFO] [stdout]   70:     0x734dcf512a64 - clone
[INFO] [stdout]   71:                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/debug/deps/server-a175b867520d765f` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "eacb12c3e45e2acd0d7acaba9c4ae70ab9067ee9dbff0e4792f2d0c470b4dcaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eacb12c3e45e2acd0d7acaba9c4ae70ab9067ee9dbff0e4792f2d0c470b4dcaa", kill_on_drop: false }`
[INFO] [stdout] eacb12c3e45e2acd0d7acaba9c4ae70ab9067ee9dbff0e4792f2d0c470b4dcaa
