[INFO] cloning repository https://github.com/ByapakSigdel/derivative-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ByapakSigdel/derivative-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FByapakSigdel%2Fderivative-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FByapakSigdel%2Fderivative-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 27e50854459a3b816b517dfd14211bb14bb2ac87
[INFO] checking ByapakSigdel/derivative-backend against master#2aabf3ce0569dd7c8c2d2a27944850056dcf2566 for pr-156508
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FByapakSigdel%2Fderivative-backend" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ByapakSigdel/derivative-backend
[INFO] finished tweaking git repo https://github.com/ByapakSigdel/derivative-backend
[INFO] tweaked toml for git repo https://github.com/ByapakSigdel/derivative-backend written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ByapakSigdel/derivative-backend on toolchain 2aabf3ce0569dd7c8c2d2a27944850056dcf2566
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ByapakSigdel/derivative-backend 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" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded if_chain v1.0.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 01dff300d001e565b17cecb8803e1f559e8cac09e9aafe312a40adc4a7f9f3a4
[INFO] running `Command { std: "docker" "start" "-a" "01dff300d001e565b17cecb8803e1f559e8cac09e9aafe312a40adc4a7f9f3a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "01dff300d001e565b17cecb8803e1f559e8cac09e9aafe312a40adc4a7f9f3a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01dff300d001e565b17cecb8803e1f559e8cac09e9aafe312a40adc4a7f9f3a4", kill_on_drop: false }`
[INFO] [stdout] 01dff300d001e565b17cecb8803e1f559e8cac09e9aafe312a40adc4a7f9f3a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+2aabf3ce0569dd7c8c2d2a27944850056dcf2566" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5edf72114c77ae3d0f330ea9a3dab9227ff9c01bd48549db4f0358c7d65de1b6
[INFO] running `Command { std: "docker" "start" "-a" "5edf72114c77ae3d0f330ea9a3dab9227ff9c01bd48549db4f0358c7d65de1b6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]     Checking indexmap v2.13.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking tokio v1.51.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling uuid v1.12.1
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]    Compiling fastrand v2.4.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]    Compiling tempfile v3.15.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking multer v3.1.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]    Compiling validator_types v0.16.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking whoami v1.6.1
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]    Compiling if_chain v1.0.3
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking hdrhistogram v7.5.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]    Compiling sqlx-core v0.7.4
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]    Compiling validator_derive v0.16.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking validator v0.16.1
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]    Compiling sqlx-postgres v0.7.4
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]     Checking axum-extra v0.9.6
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking derivative-backend v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/handlers/auth.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::errors::{AppError, AppResult};
[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: `UserProject`
[INFO] [stdout]   --> src/handlers/projects.rs:15:68
[INFO] [stdout]    |
[INFO] [stdout] 15 |     ProjectStats, ProjectWithAuthorResponse, UpdateProjectRequest, UserProject,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppResult`
[INFO] [stdout]   --> src/middleware/auth.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::errors::{AppError, AppResult};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ProjectCategory` and `ProjectDifficulty`
[INFO] [stdout]  --> src/services/project_service.rs:8:67
[INFO] [stdout]   |
[INFO] [stdout] 8 |     CloneProjectRequest, CreateProjectRequest, ListProjectsQuery, ProjectCategory,
[INFO] [stdout]   |                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     ProjectDifficulty, ProjectStats, ProjectWithAuthor, SortOrder, UpdateProjectRequest,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AddCollaboratorRequest`
[INFO] [stdout]  --> src/services/collaboration_service.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     AddCollaboratorRequest, CollaboratorWithUser, CollaboratorsResponse, CreateInviteTokenRequest,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/services/metrics_service.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::errors::{AppError, AppResult};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> src/services/metrics_service.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{Duration, NaiveDate, Utc};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth_service::*`
[INFO] [stdout]   --> src/services/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use auth_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `user_service::*`
[INFO] [stdout]   --> src/services/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use user_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `project_service::*`
[INFO] [stdout]   --> src/services/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use project_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `community_service::*`
[INFO] [stdout]   --> src/services/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use community_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `organization_service::*`
[INFO] [stdout]   --> src/services/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use organization_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collaboration_service::*`
[INFO] [stdout]   --> src/services/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use collaboration_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metrics_service::*`
[INFO] [stdout]   --> src/services/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use metrics_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jwt::*`
[INFO] [stdout]  --> src/utils/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use jwt::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `password::*`
[INFO] [stdout]  --> src/utils/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use password::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file_storage::*`
[INFO] [stdout]   --> src/utils/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use file_storage::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pagination::*`
[INFO] [stdout]   --> src/utils/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use pagination::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> src/websocket/handler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/websocket/handler.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `handler::*`
[INFO] [stdout]  --> src/websocket/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use handler::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `messages::*`
[INFO] [stdout]  --> src/websocket/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use messages::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `run-migrations`
[INFO] [stdout]   --> src/main.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[cfg(feature = "run-migrations")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `run-migrations` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/handlers/auth.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::errors::{AppError, AppResult};
[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: `UserProject`
[INFO] [stdout]   --> src/handlers/projects.rs:15:68
[INFO] [stdout]    |
[INFO] [stdout] 15 |     ProjectStats, ProjectWithAuthorResponse, UpdateProjectRequest, UserProject,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppResult`
[INFO] [stdout]   --> src/middleware/auth.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::errors::{AppError, AppResult};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ProjectCategory` and `ProjectDifficulty`
[INFO] [stdout]  --> src/services/project_service.rs:8:67
[INFO] [stdout]   |
[INFO] [stdout] 8 |     CloneProjectRequest, CreateProjectRequest, ListProjectsQuery, ProjectCategory,
[INFO] [stdout]   |                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     ProjectDifficulty, ProjectStats, ProjectWithAuthor, SortOrder, UpdateProjectRequest,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AddCollaboratorRequest`
[INFO] [stdout]  --> src/services/collaboration_service.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     AddCollaboratorRequest, CollaboratorWithUser, CollaboratorsResponse, CreateInviteTokenRequest,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/services/metrics_service.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::errors::{AppError, AppResult};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> src/services/metrics_service.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{Duration, NaiveDate, Utc};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `auth_service::*`
[INFO] [stdout]   --> src/services/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use auth_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `user_service::*`
[INFO] [stdout]   --> src/services/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use user_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `project_service::*`
[INFO] [stdout]   --> src/services/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use project_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `community_service::*`
[INFO] [stdout]   --> src/services/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use community_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `organization_service::*`
[INFO] [stdout]   --> src/services/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use organization_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collaboration_service::*`
[INFO] [stdout]   --> src/services/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use collaboration_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `metrics_service::*`
[INFO] [stdout]   --> src/services/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use metrics_service::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `jwt::*`
[INFO] [stdout]  --> src/utils/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use jwt::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `password::*`
[INFO] [stdout]  --> src/utils/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use password::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `file_storage::*`
[INFO] [stdout]   --> src/utils/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use file_storage::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pagination::*`
[INFO] [stdout]   --> src/utils/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use pagination::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> src/websocket/handler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/websocket/handler.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `handler::*`
[INFO] [stdout]  --> src/websocket/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use handler::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `messages::*`
[INFO] [stdout]  --> src/websocket/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use messages::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `run-migrations`
[INFO] [stdout]   --> src/main.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[cfg(feature = "run-migrations")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `run-migrations` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/websocket/handler.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/websocket/handler.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/websocket/handler.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/websocket/handler.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/handlers/ws.rs:185:31
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 Message::Ping(data) => {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/handlers/ws.rs:185:31
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 Message::Ping(data) => {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_id`
[INFO] [stdout]    --> src/websocket/handler.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     project_id: Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rate_limit_requests` and `rate_limit_window_secs` are never read
[INFO] [stdout]   --> src/config.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Config {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub rate_limit_requests: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub rate_limit_window_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are 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 `avatars_dir` and `project_assets_dir` are never used
[INFO] [stdout]    --> src/config.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn avatars_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn project_assets_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_migrations` is never used
[INFO] [stdout]   --> src/db/pool.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub async fn run_migrations(pool: &DbPool) -> AppResult<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RateLimitExceeded` is never constructed
[INFO] [stdout]   --> src/errors.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 57 |     RateLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validation_error` is never used
[INFO] [stdout]    --> src/errors.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn validation_error(field: &str, message: &str) -> AppError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `email` is never read
[INFO] [stdout]   --> src/middleware/auth.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AuthUser {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 19 |     pub id: Uuid,
[INFO] [stdout] 20 |     pub email: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthUser` 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: function `optional_auth` is never used
[INFO] [stdout]   --> src/middleware/auth.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub async fn optional_auth(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_auth_user` is never used
[INFO] [stdout]   --> src/middleware/auth.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn get_auth_user(req: &Request) -> Option<&AuthUser> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `email` and `user_type` are never used
[INFO] [stdout]    --> src/middleware/auth.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl CurrentUser {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn email(&self) -> &str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn user_type(&self) -> UserType {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_authenticated` is never used
[INFO] [stdout]    --> src/middleware/auth.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl OptionalUser {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn is_authenticated(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_admin` is never used
[INFO] [stdout]   --> src/middleware/admin.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn ensure_admin(auth_user: &AuthUser) -> Result<(), AppError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `user` is never used
[INFO] [stdout]   --> src/middleware/admin.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl AdminUser {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 43 |     pub fn user(&self) -> &AuthUser {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CollaboratorRole` is never used
[INFO] [stdout]   --> src/models/collaboration.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum CollaboratorRole {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddCollaboratorRequest` is never constructed
[INFO] [stdout]   --> src/models/collaboration.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct AddCollaboratorRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent_id` is never read
[INFO] [stdout]    --> src/models/comment.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct ListCommentsQuery {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub parent_id: Option<Uuid>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ListCommentsQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectLike` is never constructed
[INFO] [stdout]   --> src/models/like.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ProjectLike {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LikeWithProject` is never constructed
[INFO] [stdout]   --> src/models/like.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct LikeWithProject {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListLikesQuery` is never constructed
[INFO] [stdout]   --> src/models/like.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ListLikesQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompilationLog` is never constructed
[INFO] [stdout]   --> src/models/metrics.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CompilationLog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UploadLog` is never constructed
[INFO] [stdout]   --> src/models/metrics.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct UploadLog {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `refresh_token` is never read
[INFO] [stdout]   --> src/models/user.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UserProfile {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub refresh_token: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserProfile` 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: struct `ProjectView` is never constructed
[INFO] [stdout]   --> src/models/view.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ProjectView {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectViewAnalytics` is never constructed
[INFO] [stdout]   --> src/models/view.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ProjectViewAnalytics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DailyViewCount` is never constructed
[INFO] [stdout]   --> src/models/view.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct DailyViewCount {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_user_exists` is never used
[INFO] [stdout]    --> src/services/auth_service.rs:183:14
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub async fn verify_user_exists(pool: &PgPool, user_id: Uuid) -> AppResult<bool> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_by_email` is never used
[INFO] [stdout]   --> src/services/user_service.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub async fn get_user_by_email(pool: &PgPool, email: &str) -> AppResult<Option<UserProfile>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_admin` is never used
[INFO] [stdout]    --> src/services/user_service.rs:294:14
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub async fn is_admin(pool: &PgPool, user_id: Uuid) -> AppResult<bool> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_access_project` is never used
[INFO] [stdout]    --> src/services/project_service.rs:407:14
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub async fn can_access_project(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_organizations` is never used
[INFO] [stdout]   --> src/services/organization_service.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub async fn list_organizations(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenPair` is never constructed
[INFO] [stdout]   --> src/utils/jwt.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TokenPair {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_token_pair` is never used
[INFO] [stdout]    --> src/utils/jwt.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn generate_token_pair(user_id: Uuid, email: &str, user_type: UserType) -> AppResult<TokenPair> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ProjectAsset` is never constructed
[INFO] [stdout]   --> src/utils/file_storage.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum FileCategory {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 37 |     Avatar,
[INFO] [stdout] 38 |     ProjectAsset,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileCategory` 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: fields `path`, `original_name`, `size`, and `content_type` are never read
[INFO] [stdout]   --> src/utils/file_storage.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StoredFile {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub original_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 86 |     /// File size in bytes
[INFO] [stdout] 87 |     pub size: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 88 |     /// MIME type
[INFO] [stdout] 89 |     pub content_type: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoredFile` 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: function `extension_from_content_type` is never used
[INFO] [stdout]    --> src/utils/file_storage.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn extension_from_content_type(content_type: &str) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `content_type_from_filename` is never used
[INFO] [stdout]    --> src/utils/file_storage.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn content_type_from_filename(filename: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `room_size` and `get_room_stats` are never used
[INFO] [stdout]    --> src/websocket/handler.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl RoomManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn room_size(&self, project_id: Uuid) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn get_room_stats(&self) -> Vec<(Uuid, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CommentAdded`, `LikeAdded`, and `LikeRemoved` are never constructed
[INFO] [stdout]   --> src/websocket/messages.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum ServerMessage {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     CommentAdded {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     LikeAdded {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     LikeRemoved {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerMessage` 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: associated functions `comment_added` and `like_added` are never used
[INFO] [stdout]    --> src/websocket/messages.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl ServerMessage {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn comment_added(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn like_added(project_id: Uuid, user_id: Uuid, like_count: i32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_id`
[INFO] [stdout]    --> src/websocket/handler.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     project_id: Uuid,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rate_limit_requests` and `rate_limit_window_secs` are never read
[INFO] [stdout]   --> src/config.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Config {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub rate_limit_requests: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub rate_limit_window_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are 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 `avatars_dir` and `project_assets_dir` are never used
[INFO] [stdout]    --> src/config.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn avatars_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn project_assets_dir(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_migrations` is never used
[INFO] [stdout]   --> src/db/pool.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub async fn run_migrations(pool: &DbPool) -> AppResult<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RateLimitExceeded` is never constructed
[INFO] [stdout]   --> src/errors.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum AppError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 57 |     RateLimitExceeded,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validation_error` is never used
[INFO] [stdout]    --> src/errors.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub fn validation_error(field: &str, message: &str) -> AppError {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `email` is never read
[INFO] [stdout]   --> src/middleware/auth.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct AuthUser {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 19 |     pub id: Uuid,
[INFO] [stdout] 20 |     pub email: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AuthUser` 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: function `optional_auth` is never used
[INFO] [stdout]   --> src/middleware/auth.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub async fn optional_auth(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_auth_user` is never used
[INFO] [stdout]   --> src/middleware/auth.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn get_auth_user(req: &Request) -> Option<&AuthUser> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `email` and `user_type` are never used
[INFO] [stdout]    --> src/middleware/auth.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl CurrentUser {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn email(&self) -> &str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn user_type(&self) -> UserType {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_authenticated` is never used
[INFO] [stdout]    --> src/middleware/auth.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl OptionalUser {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn is_authenticated(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_admin` is never used
[INFO] [stdout]   --> src/middleware/admin.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn ensure_admin(auth_user: &AuthUser) -> Result<(), AppError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `user` is never used
[INFO] [stdout]   --> src/middleware/admin.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl AdminUser {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 43 |     pub fn user(&self) -> &AuthUser {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CollaboratorRole` is never used
[INFO] [stdout]   --> src/models/collaboration.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum CollaboratorRole {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddCollaboratorRequest` is never constructed
[INFO] [stdout]   --> src/models/collaboration.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct AddCollaboratorRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent_id` is never read
[INFO] [stdout]    --> src/models/comment.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct ListCommentsQuery {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub parent_id: Option<Uuid>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ListCommentsQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectLike` is never constructed
[INFO] [stdout]   --> src/models/like.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ProjectLike {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LikeWithProject` is never constructed
[INFO] [stdout]   --> src/models/like.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct LikeWithProject {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListLikesQuery` is never constructed
[INFO] [stdout]   --> src/models/like.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ListLikesQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompilationLog` is never constructed
[INFO] [stdout]   --> src/models/metrics.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CompilationLog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UploadLog` is never constructed
[INFO] [stdout]   --> src/models/metrics.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct UploadLog {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `refresh_token` is never read
[INFO] [stdout]   --> src/models/user.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct UserProfile {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub refresh_token: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserProfile` 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: struct `ProjectView` is never constructed
[INFO] [stdout]   --> src/models/view.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ProjectView {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectViewAnalytics` is never constructed
[INFO] [stdout]   --> src/models/view.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ProjectViewAnalytics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DailyViewCount` is never constructed
[INFO] [stdout]   --> src/models/view.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct DailyViewCount {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_user_exists` is never used
[INFO] [stdout]    --> src/services/auth_service.rs:183:14
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub async fn verify_user_exists(pool: &PgPool, user_id: Uuid) -> AppResult<bool> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_by_email` is never used
[INFO] [stdout]   --> src/services/user_service.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub async fn get_user_by_email(pool: &PgPool, email: &str) -> AppResult<Option<UserProfile>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_admin` is never used
[INFO] [stdout]    --> src/services/user_service.rs:294:14
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub async fn is_admin(pool: &PgPool, user_id: Uuid) -> AppResult<bool> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_access_project` is never used
[INFO] [stdout]    --> src/services/project_service.rs:407:14
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub async fn can_access_project(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_organizations` is never used
[INFO] [stdout]   --> src/services/organization_service.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub async fn list_organizations(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenPair` is never constructed
[INFO] [stdout]   --> src/utils/jwt.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TokenPair {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_token_pair` is never used
[INFO] [stdout]    --> src/utils/jwt.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn generate_token_pair(user_id: Uuid, email: &str, user_type: UserType) -> AppResult<TokenPair> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ProjectAsset` is never constructed
[INFO] [stdout]   --> src/utils/file_storage.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum FileCategory {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 37 |     Avatar,
[INFO] [stdout] 38 |     ProjectAsset,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileCategory` 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: fields `path`, `original_name`, `size`, and `content_type` are never read
[INFO] [stdout]   --> src/utils/file_storage.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct StoredFile {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub original_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 86 |     /// File size in bytes
[INFO] [stdout] 87 |     pub size: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 88 |     /// MIME type
[INFO] [stdout] 89 |     pub content_type: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoredFile` 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: function `content_type_from_filename` is never used
[INFO] [stdout]    --> src/utils/file_storage.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn content_type_from_filename(filename: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `room_size` and `get_room_stats` are never used
[INFO] [stdout]    --> src/websocket/handler.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl RoomManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn room_size(&self, project_id: Uuid) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn get_room_stats(&self) -> Vec<(Uuid, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CommentAdded`, `LikeAdded`, and `LikeRemoved` are never constructed
[INFO] [stdout]   --> src/websocket/messages.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum ServerMessage {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     CommentAdded {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     LikeAdded {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     LikeRemoved {
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerMessage` 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: associated functions `comment_added` and `like_added` are never used
[INFO] [stdout]    --> src/websocket/messages.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl ServerMessage {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn comment_added(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn like_added(project_id: Uuid, user_id: Uuid, like_count: i32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s
[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 2`
[INFO] running `Command { std: "docker" "inspect" "5edf72114c77ae3d0f330ea9a3dab9227ff9c01bd48549db4f0358c7d65de1b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5edf72114c77ae3d0f330ea9a3dab9227ff9c01bd48549db4f0358c7d65de1b6", kill_on_drop: false }`
[INFO] [stdout] 5edf72114c77ae3d0f330ea9a3dab9227ff9c01bd48549db4f0358c7d65de1b6
