[INFO] cloning repository https://github.com/Vicente-Alejandro/Rust-Ironclad
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Vicente-Alejandro/Rust-Ironclad" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVicente-Alejandro%2FRust-Ironclad", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVicente-Alejandro%2FRust-Ironclad'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 612bf997957d9c38254f58876b9a840e4748c894
[INFO] checking Vicente-Alejandro/Rust-Ironclad against 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6 for pr-160581
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVicente-Alejandro%2FRust-Ironclad" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Vicente-Alejandro/Rust-Ironclad
[INFO] finished tweaking git repo https://github.com/Vicente-Alejandro/Rust-Ironclad
[INFO] tweaked toml for git repo https://github.com/Vicente-Alejandro/Rust-Ironclad written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Vicente-Alejandro/Rust-Ironclad on toolchain 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Vicente-Alejandro/Rust-Ironclad 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" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec
[INFO] running `Command { std: "docker" "start" "a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling base64ct v1.8.1
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling bytestring v1.5.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling regex-lite v0.1.8
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling zmij v1.0.0
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling pest v2.8.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]    Compiling rsa v0.9.9
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]    Compiling pest_meta v2.8.4
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling enum-as-inner v0.4.0
[INFO] [stderr]    Compiling rustc_version_runtime v0.2.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]    Compiling v_htmlescape v0.15.8
[INFO] [stderr]     Checking dlv-list v0.3.0
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling pest_generator v2.8.4
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]     Checking ordered-multimap v0.4.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking quanta v0.12.6
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]    Compiling pest_derive v2.8.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling rustc_version_runtime v0.3.0
[INFO] [stderr]     Checking rustc_version v0.2.3
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]     Checking semver v1.0.27
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking clap_builder v4.5.58
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking rustc_version v0.4.1
[INFO] [stderr]    Compiling validator_derive v0.18.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking governor v0.6.3
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking rust-ini v0.18.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking actix-router v0.5.3
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking trust-dns-proto v0.21.2
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking ron v0.7.1
[INFO] [stderr]     Checking bson v2.15.0
[INFO] [stderr]     Checking serde_with v1.14.0
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking sqlx-core v0.7.4
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling typed-builder v0.10.0
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking mutually_exclusive_features v0.1.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking sysinfo v0.30.13
[INFO] [stderr]     Checking config v0.13.4
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking validator v0.18.1
[INFO] [stderr]     Checking clap v4.5.58
[INFO] [stderr]     Checking bcrypt v0.15.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]    Compiling mockall_derive v0.12.1
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]     Checking trust-dns-resolver v0.21.2
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking mongodb v2.8.2
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking sqlx-postgres v0.7.4
[INFO] [stderr]     Checking sqlx-mysql v0.7.4
[INFO] [stderr]     Checking mockall v0.12.1
[INFO] [stderr]     Checking actix-http v3.11.2
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking actix-web v4.12.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]     Checking actix-cors v0.7.1
[INFO] [stderr]     Checking actix-files v0.6.10
[INFO] [stderr]     Checking tracing-actix-web v0.7.21
[INFO] [stderr]     Checking actix-governor v0.5.0
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking ironclad v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/cli/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[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: `PathBuf`
[INFO] [stdout]  --> src/cli/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[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::config::validators`
[INFO] [stdout]  --> src/domain/value_objects/username.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::config::validators;
[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::domain::value_objects::Role`
[INFO] [stdout]  --> src/application/dtos/auth_dto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::domain::value_objects::Role;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UpdateRoleRequest`
[INFO] [stdout]  --> src/application/services/user_service.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     UpdateRoleRequest, 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::domain::entities::User`
[INFO] [stdout]  --> src/application/services/user_service.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::domain::entities::User;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::domain::value_objects::Role`
[INFO] [stdout]  --> src/application/services/user_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::domain::value_objects::Role;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthUser`
[INFO] [stdout]  --> src/infrastructure/http/controllers/auth_controller.rs:7:62
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::infrastructure::http::authentication::{AdminUser, AuthUser};
[INFO] [stdout]   |                                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UpdateRoleRequest`
[INFO] [stdout]  --> src/infrastructure/http/controllers/user_controller.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::application::dtos::{UpdateProfileRequest, UpdateRoleRequest};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::http::authentication::AuthUser`
[INFO] [stdout]  --> src/infrastructure/http/controllers/test_item_controller.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::infrastructure::http::authentication::AuthUser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::errors::ApiError`
[INFO] [stdout]   --> src/infrastructure/http/controllers/health_controller.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::errors::ApiError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `handle_not_found_with_hint`
[INFO] [stdout]  --> src/infrastructure/http/handlers/mod.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use not_found::{handle_not_found, handle_not_found_with_hint};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdminUser`, `AuthUser`, `ModeratorUser`, `PremiumUser`, and `RoleUser`
[INFO] [stdout]   --> src/infrastructure/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AuthUser,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 11 |     AdminUser,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     ModeratorUser,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     PremiumUser,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     RoleUser,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthController`, `HealthController`, `TestItemController`, and `UserController`
[INFO] [stdout]   --> src/infrastructure/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     AuthController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     UserController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     TestItemController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     HealthController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ready`
[INFO] [stdout]  --> src/shared/extractors/validated_json.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::future::{ready, LocalBoxFuture, FutureExt};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `validate_strong_password` and `validate_username`
[INFO] [stdout]  --> src/shared/mod.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use validator::{validate_strong_password, validate_username};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/cli/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::Error`
[INFO] [stdout]  --> src/middleware/rate_limit.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rate_limit::api_rate_limiter`
[INFO] [stdout]  --> src/middleware/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use rate_limit::api_rate_limiter;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MySqlPool`
[INFO] [stdout]  --> src/bootstrap/app_state.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sqlx::{PgPool, MySqlPool};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::web`
[INFO] [stdout]  --> src/bootstrap/app_state.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use actix_web::web;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macros::*`
[INFO] [stdout]   --> src/bootstrap/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use macros::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertLevel` and `Alert`
[INFO] [stdout]   --> src/queue/manager.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::monitoring::alerts::{Alert, AlertLevel};
[INFO] [stdout]    |                                 ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::application::services::AlertService`
[INFO] [stdout]   --> src/queue/manager.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::application::services::AlertService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/queue/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JobType`
[INFO] [stdout]  --> src/queue/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use job::{Job, JobType, JobPayload};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alerts::Alert`
[INFO] [stdout]  --> src/monitoring/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use alerts::Alert;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alerts::AlertLevel`
[INFO] [stdout]  --> src/monitoring/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use alerts::AlertLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `queue_monitor::QueueMonitor`
[INFO] [stdout]  --> src/monitoring/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use queue_monitor::QueueMonitor;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::validators`
[INFO] [stdout]  --> src/domain/value_objects/username.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::config::validators;
[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::domain::value_objects::Role`
[INFO] [stdout]  --> src/application/dtos/auth_dto.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::domain::value_objects::Role;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UpdateRoleRequest`
[INFO] [stdout]  --> src/application/services/user_service.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     UpdateRoleRequest, 
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::domain::entities::User`
[INFO] [stdout]  --> src/application/services/user_service.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::domain::entities::User;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::domain::value_objects::Role`
[INFO] [stdout]  --> src/application/services/user_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::domain::value_objects::Role;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthUser`
[INFO] [stdout]  --> src/infrastructure/http/controllers/auth_controller.rs:7:62
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::infrastructure::http::authentication::{AdminUser, AuthUser};
[INFO] [stdout]   |                                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UpdateRoleRequest`
[INFO] [stdout]  --> src/infrastructure/http/controllers/user_controller.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::application::dtos::{UpdateProfileRequest, UpdateRoleRequest};
[INFO] [stdout]   |                                                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::http::authentication::AuthUser`
[INFO] [stdout]  --> src/infrastructure/http/controllers/test_item_controller.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::infrastructure::http::authentication::AuthUser;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::errors::ApiError`
[INFO] [stdout]   --> src/infrastructure/http/controllers/health_controller.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::errors::ApiError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `handle_not_found_with_hint`
[INFO] [stdout]  --> src/infrastructure/http/handlers/mod.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use not_found::{handle_not_found, handle_not_found_with_hint};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AdminUser`, `AuthUser`, `ModeratorUser`, `PremiumUser`, and `RoleUser`
[INFO] [stdout]   --> src/infrastructure/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AuthUser,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 11 |     AdminUser,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     ModeratorUser,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 13 |     PremiumUser,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 14 |     RoleUser,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthController`, `HealthController`, `TestItemController`, and `UserController`
[INFO] [stdout]   --> src/infrastructure/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     AuthController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     UserController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     TestItemController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     HealthController,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ready`
[INFO] [stdout]  --> src/shared/extractors/validated_json.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::future::{ready, LocalBoxFuture, FutureExt};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `validate_strong_password` and `validate_username`
[INFO] [stdout]  --> src/shared/mod.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use validator::{validate_strong_password, validate_username};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/cli/main.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::Error`
[INFO] [stdout]  --> src/middleware/rate_limit.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rate_limit::api_rate_limiter`
[INFO] [stdout]  --> src/middleware/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use rate_limit::api_rate_limiter;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MySqlPool`
[INFO] [stdout]  --> src/bootstrap/app_state.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use sqlx::{PgPool, MySqlPool};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::web`
[INFO] [stdout]  --> src/bootstrap/app_state.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use actix_web::web;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macros::*`
[INFO] [stdout]   --> src/bootstrap/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use macros::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlertLevel` and `Alert`
[INFO] [stdout]   --> src/queue/manager.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::monitoring::alerts::{Alert, AlertLevel};
[INFO] [stdout]    |                                 ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::application::services::AlertService`
[INFO] [stdout]   --> src/queue/manager.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::application::services::AlertService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/queue/worker.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JobType`
[INFO] [stdout]  --> src/queue/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use job::{Job, JobType, JobPayload};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alerts::Alert`
[INFO] [stdout]  --> src/monitoring/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use alerts::Alert;
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alerts::AlertLevel`
[INFO] [stdout]  --> src/monitoring/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use alerts::AlertLevel;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `queue_monitor::QueueMonitor`
[INFO] [stdout]  --> src/monitoring/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use queue_monitor::QueueMonitor;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/queue/manager.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/queue/manager.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/domain/entities/user.rs:63:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl User {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn new_with_role(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn is_admin(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn can_moderate(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn update_email(&mut self, email: EmailAddress) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn update_username(&mut self, username: Username) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn update_password_hash(&mut self, password_hash: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn change_role(&mut self, role: Role) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn activate(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn deactivate(&mut self) {
[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 items `new`, `has_role`, and `has_any_role` are never used
[INFO] [stdout]    --> src/domain/entities/user.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl Claims {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 162 |     pub fn new(user_id: String, email: String, role: String, exp: i64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn has_role(&self, required_role: &str) -> bool { self.role == required_role }
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 169 |     pub fn has_any_role(&self, roles: &[&str]) -> bool { roles.contains(&self.role.as_str()) }
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateProfileRequest` is never constructed
[INFO] [stdout]   --> src/application/dtos/auth_dto.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct UpdateProfileRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateRoleRequest` is never constructed
[INFO] [stdout]   --> src/application/dtos/auth_dto.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct UpdateRoleRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/application/services/user_service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct UserService {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 17 |     user_repository: Arc<dyn UserRepository>,
[INFO] [stdout] 18 |     config: Arc<AppConfig>,  
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_profile`, `deactivate_user`, `activate_user`, `delete_user`, and `get_user_count` are never used
[INFO] [stdout]    --> src/application/services/user_service.rs:71:14
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl UserService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  71 | pub async fn update_profile(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub async fn deactivate_user(&self, user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub async fn activate_user(&self, user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub async fn delete_user(&self, user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub async fn get_user_count(&self) -> Result<i32, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct AdminUser(pub Claims);
[INFO] [stdout]    |            --------- ^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `AdminUser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModeratorUser` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ModeratorUser(pub Claims);
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PremiumUser` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct PremiumUser(pub Claims);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RoleUser` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct RoleUser(pub Claims);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_role`, `has_any_role`, `is_admin`, `user_id`, `email`, and `role` are never used
[INFO] [stdout]    --> src/infrastructure/http/authentication.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl RoleUser {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  98 |     pub fn has_role(&self, role: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn has_any_role(&self, roles: &[&str]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn is_admin(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn user_id(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn email(&self) -> &str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn role(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `update_profile` and `delete_user` are never used
[INFO] [stdout]    --> src/infrastructure/http/controllers/user_controller.rs:72:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl UserController {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub async fn update_profile(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn delete_user(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScheduleRequest` is never constructed
[INFO] [stdout]    --> src/infrastructure/http/controllers/test_item_controller.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct ScheduleRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Degraded` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/controllers/health_controller.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum HealthStatus {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 51 |     Degraded,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `requeue_dlq` is never used
[INFO] [stdout]    --> src/infrastructure/http/controllers/queue_controller.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl QueueController {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub async fn requeue_dlq(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_not_found_with_hint` is never used
[INFO] [stdout]   --> src/infrastructure/http/handlers/not_found.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn handle_not_found_with_hint() -> HttpResponse {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `delete` are never used
[INFO] [stdout]   --> src/interfaces/repositories/user_repository.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 24 |     async fn update(&self, user: &User) -> Result<(), ApiError>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     async fn delete(&self, id: &str) -> Result<bool, ApiError>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all` is never used
[INFO] [stdout]   --> src/interfaces/repositories/test_item_repository.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait TestItemRepository: Send + Sync {
[INFO] [stdout]    |           ------------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |     async fn get_all(&self) -> Result<Vec<TestItem>, ApiError>;
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_all_config` is never used
[INFO] [stdout]   --> src/config/validators.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn validate_all_config(config: &AppConfig) -> Result<(), Vec<String>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_self_or_admin` is never used
[INFO] [stdout]   --> src/utils/auth.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn verify_self_or_admin(claims: &Claims, target_user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_admin` is never used
[INFO] [stdout]   --> src/utils/auth.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_admin(claims: &Claims) -> Result<(), ApiError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAINTENANCE_FILE` is never used
[INFO] [stdout]   --> src/cli/main.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const MAINTENANCE_FILE: &str = "storage/framework/maintenance.json";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STORAGE_DIRS` is never used
[INFO] [stdout]   --> src/cli/main.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const STORAGE_DIRS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/cli/main.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | async fn main() {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_project_root` is never used
[INFO] [stdout]    --> src/cli/main.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn ensure_project_root() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maintenance_down` is never used
[INFO] [stdout]    --> src/cli/main.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn maintenance_down(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_template_path` is never used
[INFO] [stdout]    --> src/cli/main.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn parse_template_path(template: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maintenance_up` is never used
[INFO] [stdout]    --> src/cli/main.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn maintenance_up() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_database` is never used
[INFO] [stdout]    --> src/cli/main.rs:308:10
[INFO] [stdout]     |
[INFO] [stdout] 308 | async fn check_database() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask_connection_string` is never used
[INFO] [stdout]    --> src/cli/main.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn mask_connection_string(url: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_check` is never used
[INFO] [stdout]    --> src/cli/main.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn storage_check() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_link` is never used
[INFO] [stdout]    --> src/cli/main.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn storage_link(force: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_info` is never used
[INFO] [stdout]    --> src/cli/main.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn storage_info() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_init` is never used
[INFO] [stdout]    --> src/cli/main.rs:589:4
[INFO] [stdout]     |
[INFO] [stdout] 589 | fn storage_init() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_gitignore_files` is never used
[INFO] [stdout]    --> src/cli/main.rs:636:4
[INFO] [stdout]     |
[INFO] [stdout] 636 | fn create_gitignore_files() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeviceIdExtractor` is never constructed
[INFO] [stdout]   --> src/middleware/rate_limit.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct DeviceIdExtractor;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `api_rate_limiter_with_device_id` is never used
[INFO] [stdout]    --> src/middleware/rate_limit.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn api_rate_limiter_with_device_id(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JobType` is never used
[INFO] [stdout]  --> src/queue/job.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum JobType {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `enqueue`, `enqueue_with_queue`, and `requeue_from_dlq` are never used
[INFO] [stdout]    --> src/queue/manager.rs:31:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl QueueManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  31 |     pub async fn enqueue(&self, payload: JobPayload) -> Result<String, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub async fn enqueue_with_queue(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub async fn requeue_from_dlq(&self, dlq_id: &str) -> Result<String, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Info` is never constructed
[INFO] [stdout]   --> src/monitoring/alerts.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum AlertLevel {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 12 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertLevel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/domain/entities/user.rs:63:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl User {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn new_with_role(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn is_admin(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn can_moderate(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn update_email(&mut self, email: EmailAddress) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn update_username(&mut self, username: Username) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn update_password_hash(&mut self, password_hash: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn change_role(&mut self, role: Role) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn activate(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn deactivate(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_role` is never used
[INFO] [stdout]    --> src/domain/entities/user.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl Claims {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn has_role(&self, required_role: &str) -> bool { self.role == required_role }
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateProfileRequest` is never constructed
[INFO] [stdout]   --> src/application/dtos/auth_dto.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct UpdateProfileRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateRoleRequest` is never constructed
[INFO] [stdout]   --> src/application/dtos/auth_dto.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct UpdateRoleRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/application/services/user_service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct UserService {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 17 |     user_repository: Arc<dyn UserRepository>,
[INFO] [stdout] 18 |     config: Arc<AppConfig>,  
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_profile`, `deactivate_user`, `activate_user`, `delete_user`, and `get_user_count` are never used
[INFO] [stdout]    --> src/application/services/user_service.rs:71:14
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl UserService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  71 | pub async fn update_profile(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub async fn deactivate_user(&self, user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub async fn activate_user(&self, user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub async fn delete_user(&self, user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub async fn get_user_count(&self) -> Result<i32, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct AdminUser(pub Claims);
[INFO] [stdout]    |            --------- ^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `AdminUser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModeratorUser` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ModeratorUser(pub Claims);
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PremiumUser` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct PremiumUser(pub Claims);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RoleUser` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/authentication.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct RoleUser(pub Claims);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_role`, `has_any_role`, `is_admin`, `user_id`, `email`, and `role` are never used
[INFO] [stdout]    --> src/infrastructure/http/authentication.rs:98:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl RoleUser {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  98 |     pub fn has_role(&self, role: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn has_any_role(&self, roles: &[&str]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn is_admin(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn user_id(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn email(&self) -> &str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn role(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `update_profile` and `delete_user` are never used
[INFO] [stdout]    --> src/infrastructure/http/controllers/user_controller.rs:72:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl UserController {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub async fn update_profile(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn delete_user(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScheduleRequest` is never constructed
[INFO] [stdout]    --> src/infrastructure/http/controllers/test_item_controller.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct ScheduleRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Degraded` is never constructed
[INFO] [stdout]   --> src/infrastructure/http/controllers/health_controller.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum HealthStatus {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 51 |     Degraded,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `requeue_dlq` is never used
[INFO] [stdout]    --> src/infrastructure/http/controllers/queue_controller.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl QueueController {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub async fn requeue_dlq(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_not_found_with_hint` is never used
[INFO] [stdout]   --> src/infrastructure/http/handlers/not_found.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn handle_not_found_with_hint() -> HttpResponse {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `delete` are never used
[INFO] [stdout]   --> src/interfaces/repositories/user_repository.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 24 |     async fn update(&self, user: &User) -> Result<(), ApiError>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     async fn delete(&self, id: &str) -> Result<bool, ApiError>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all` is never used
[INFO] [stdout]   --> src/interfaces/repositories/test_item_repository.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait TestItemRepository: Send + Sync {
[INFO] [stdout]    |           ------------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |     async fn get_all(&self) -> Result<Vec<TestItem>, ApiError>;
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_all_config` is never used
[INFO] [stdout]   --> src/config/validators.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn validate_all_config(config: &AppConfig) -> Result<(), Vec<String>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_self_or_admin` is never used
[INFO] [stdout]   --> src/utils/auth.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn verify_self_or_admin(claims: &Claims, target_user_id: &str) -> Result<(), ApiError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_admin` is never used
[INFO] [stdout]   --> src/utils/auth.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_admin(claims: &Claims) -> Result<(), ApiError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAINTENANCE_FILE` is never used
[INFO] [stdout]   --> src/cli/main.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const MAINTENANCE_FILE: &str = "storage/framework/maintenance.json";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STORAGE_DIRS` is never used
[INFO] [stdout]   --> src/cli/main.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const STORAGE_DIRS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/cli/main.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | async fn main() {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_project_root` is never used
[INFO] [stdout]    --> src/cli/main.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn ensure_project_root() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maintenance_down` is never used
[INFO] [stdout]    --> src/cli/main.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn maintenance_down(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_template_path` is never used
[INFO] [stdout]    --> src/cli/main.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn parse_template_path(template: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `maintenance_up` is never used
[INFO] [stdout]    --> src/cli/main.rs:282:4
[INFO] [stdout]     |
[INFO] [stdout] 282 | fn maintenance_up() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_database` is never used
[INFO] [stdout]    --> src/cli/main.rs:308:10
[INFO] [stdout]     |
[INFO] [stdout] 308 | async fn check_database() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask_connection_string` is never used
[INFO] [stdout]    --> src/cli/main.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn mask_connection_string(url: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_check` is never used
[INFO] [stdout]    --> src/cli/main.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn storage_check() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_link` is never used
[INFO] [stdout]    --> src/cli/main.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn storage_link(force: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_info` is never used
[INFO] [stdout]    --> src/cli/main.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn storage_info() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_init` is never used
[INFO] [stdout]    --> src/cli/main.rs:589:4
[INFO] [stdout]     |
[INFO] [stdout] 589 | fn storage_init() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_gitignore_files` is never used
[INFO] [stdout]    --> src/cli/main.rs:636:4
[INFO] [stdout]     |
[INFO] [stdout] 636 | fn create_gitignore_files() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeviceIdExtractor` is never constructed
[INFO] [stdout]   --> src/middleware/rate_limit.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct DeviceIdExtractor;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `api_rate_limiter_with_device_id` is never used
[INFO] [stdout]    --> src/middleware/rate_limit.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn api_rate_limiter_with_device_id(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JobType` is never used
[INFO] [stdout]  --> src/queue/job.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum JobType {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `enqueue`, `enqueue_with_queue`, and `requeue_from_dlq` are never used
[INFO] [stdout]    --> src/queue/manager.rs:31:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl QueueManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  31 |     pub async fn enqueue(&self, payload: JobPayload) -> Result<String, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub async fn enqueue_with_queue(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub async fn requeue_from_dlq(&self, dlq_id: &str) -> Result<String, ApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Info` is never constructed
[INFO] [stdout]   --> src/monitoring/alerts.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum AlertLevel {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 12 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertLevel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-postgres v0.7.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 7`
[INFO] running `Command { std: "docker" "inspect" "a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec", kill_on_drop: false }`
[INFO] [stdout] a2560abbdb01931fa6413acfd1f7064bb78af5fd1894f365dfa167f7e762e3ec
