[INFO] cloning repository https://github.com/capiyo/fanclash-api [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/capiyo/fanclash-api" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcapiyo%2Ffanclash-api", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcapiyo%2Ffanclash-api'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 98dd7a2e3d3165158348c9f3064cb99143a839b0 [INFO] checking capiyo/fanclash-api against master#656ccbe796ff98def9b555c118e1620c5389e3b2 for pr-133502-24 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcapiyo%2Ffanclash-api" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/capiyo/fanclash-api [INFO] finished tweaking git repo https://github.com/capiyo/fanclash-api [INFO] tweaked toml for git repo https://github.com/capiyo/fanclash-api written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/capiyo/fanclash-api on toolchain 656ccbe796ff98def9b555c118e1620c5389e3b2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/capiyo/fanclash-api 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" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustls-pki-types v1.13.1 [INFO] [stderr] Downloaded cc v1.2.48 [INFO] [stderr] Downloaded validator v0.18.1 [INFO] [stderr] Downloaded validator_derive v0.18.2 [INFO] [stderr] Downloaded yup-oauth2 v8.3.2 [INFO] [stderr] Downloaded schemars v1.1.0 [INFO] [stderr] Downloaded rs-firebase-admin-sdk v2.4.0 [INFO] [stderr] Downloaded gcp_auth v0.12.6 [INFO] [stderr] Downloaded hyper-util v0.1.18 [INFO] [stderr] Downloaded error-stack v0.5.0 [INFO] [stderr] Downloaded redis v0.24.0 [INFO] [stderr] Downloaded mongodb-internal-macros v3.4.1 [INFO] [stderr] Downloaded md5 v0.7.0 [INFO] [stderr] Downloaded moka v0.12.11 [INFO] [stderr] Downloaded infer v0.13.0 [INFO] [stderr] Downloaded dotenv v0.15.0 [INFO] [stderr] Downloaded derive-where v1.6.0 [INFO] [stderr] Downloaded axum-extra v0.9.6 [INFO] [stderr] Downloaded mongodb v3.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795 [INFO] running `Command { std: "docker" "start" "016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795", 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" "016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795", 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" "016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking tracing-core v0.1.35 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Compiling cc v1.2.48 [INFO] [stderr] Checking indexmap v2.12.1 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Checking rustls-pki-types v1.13.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking mio v1.1.0 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking signal-hook-registry v1.4.7 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Checking deranged v0.5.5 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling moka v0.12.11 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling rustc_version_runtime v0.3.0 [INFO] [stderr] Compiling error-stack v0.5.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Checking semver v1.0.27 [INFO] [stderr] Compiling rustls v0.22.4 [INFO] [stderr] Checking iri-string v0.7.10 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking rustc_version v0.4.1 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking rustls-native-certs v0.6.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Checking rustls-webpki v0.102.8 [INFO] [stderr] Checking serde_bytes v0.11.19 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking headers-core v0.3.0 [INFO] [stderr] Compiling multer v2.1.0 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Checking headers v0.4.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Checking tracing v0.1.43 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling derive-syn-parse v0.2.0 [INFO] [stderr] Compiling macro_magic_core_macros v0.5.1 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking icu_properties v2.1.1 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Compiling macro_magic_core v0.5.1 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling macro_magic_macros v0.5.1 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Compiling serde_with_macros v3.16.1 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling macro_magic v0.5.1 [INFO] [stderr] Compiling axum-macros v0.4.2 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking hickory-proto v0.25.2 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Compiling typed-builder-macro v0.22.0 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Checking combine v4.6.7 [INFO] [stderr] Checking serde_with v3.16.1 [INFO] [stderr] Compiling mongodb-internal-macros v3.4.1 [INFO] [stderr] Checking simple_asn1 v0.6.3 [INFO] [stderr] Checking bson v2.15.0 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Compiling validator_derive v0.18.2 [INFO] [stderr] Checking typed-builder v0.22.0 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling derive-where v1.6.0 [INFO] [stderr] Checking hickory-resolver v0.25.2 [INFO] [stderr] Checking blowfish v0.9.1 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking cfb v0.7.3 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking webpki-roots v1.0.4 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking pem v3.0.6 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking seahash v4.1.0 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking mongodb v3.4.1 [INFO] [stderr] Checking infer v0.13.0 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking jsonwebtoken v9.3.1 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Checking validator v0.18.1 [INFO] [stderr] Checking hyper-util v0.1.18 [INFO] [stderr] Checking bcrypt v0.15.1 [INFO] [stderr] Checking tokio-tungstenite v0.21.0 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tower-http v0.5.2 [INFO] [stderr] Checking dotenv v0.15.0 [INFO] [stderr] Checking redis v0.24.0 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking gcp_auth v0.12.6 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking yup-oauth2 v8.3.2 [INFO] [stderr] Checking rs-firebase-admin-sdk v2.4.0 [INFO] [stderr] Checking axum-extra v0.9.6 [INFO] [stderr] Checking api v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `oid::ObjectId` [INFO] [stdout] --> src/handlers/auth.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | bson::{doc, oid::ObjectId, DateTime}, [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: `AuthResponse` [INFO] [stdout] --> src/handlers/auth.rs:18:74 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::models::user::{User, CreateUserRequest, UserResponse, Claims, AuthResponse}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/handlers/games.rs:9:26 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oid::ObjectId` [INFO] [stdout] --> src/handlers/auth.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | bson::{doc, oid::ObjectId, DateTime}, [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: `PledgeId` [INFO] [stdout] --> src/handlers/bets.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | Bet, BetResponse, CreateBetRequest, PledgeId, SuccessResponse, UpdateBalanceRequest, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AuthResponse` [INFO] [stdout] --> src/handlers/auth.rs:18:74 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::models::user::{User, CreateUserRequest, UserResponse, Claims, AuthResponse}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/handlers/mpesa_handlers.rs:11:26 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/handlers/games.rs:9:26 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing` [INFO] [stdout] --> src/handlers/statistics_handler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `uuid::Uuid` [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use uuid::Uuid; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::services::cloudinary::CloudinaryService` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::services::cloudinary::CloudinaryService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommentQuery` and `ReplyData` [INFO] [stdout] --> src/handlers/vote_handlers.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | CommentQuery, CommentResponse, CommentStats, CreateComment, CreateLike, CreateVote, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 22 | FixtureCountsResponse, FixtureStats, Like, LikeResponse, LikeStats, [INFO] [stdout] 23 | MarkCommentsSeenRequest, ReplyData, TotalCountsResponse, UserVoteStatus, Vote, VoteQuery, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sub_fixture_handler::*` [INFO] [stdout] --> src/handlers/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use sub_fixture_handler::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PledgeId` [INFO] [stdout] --> src/handlers/bets.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | Bet, BetResponse, CreateBetRequest, PledgeId, SuccessResponse, UpdateBalanceRequest, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/handlers/mpesa_handlers.rs:11:26 [INFO] [stdout] | [INFO] [stdout] 11 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing` [INFO] [stdout] --> src/handlers/statistics_handler.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `uuid::Uuid` [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use uuid::Uuid; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::services::cloudinary::CloudinaryService` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::services::cloudinary::CloudinaryService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommentQuery` and `ReplyData` [INFO] [stdout] --> src/handlers/vote_handlers.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | CommentQuery, CommentResponse, CommentStats, CreateComment, CreateLike, CreateVote, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 22 | FixtureCountsResponse, FixtureStats, Like, LikeResponse, LikeStats, [INFO] [stdout] 23 | MarkCommentsSeenRequest, ReplyData, TotalCountsResponse, UserVoteStatus, Vote, VoteQuery, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sub_fixture_handler::*` [INFO] [stdout] --> src/handlers/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use sub_fixture_handler::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_helpers` [INFO] [stdout] --> src/models/bets.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use mongodb::bson::{oid::ObjectId, serde_helpers}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sub_fixture::*` [INFO] [stdout] --> src/models/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use sub_fixture::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_helpers` [INFO] [stdout] --> src/models/bets.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use mongodb::bson::{oid::ObjectId, serde_helpers}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `delete` and `post` [INFO] [stdout] --> src/routes/bets.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | routing::{get, post, put, delete}, [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `delete` [INFO] [stdout] --> src/routes/comrade_route.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | routing::{delete, get, post}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vote_routes::*` [INFO] [stdout] --> src/routes/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use vote_routes::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `yup_oauth2::ServiceAccountKey` [INFO] [stdout] --> src/services/fcm_service.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use yup_oauth2::ServiceAccountKey; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sub_fixture::*` [INFO] [stdout] --> src/models/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use sub_fixture::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `delete` and `post` [INFO] [stdout] --> src/routes/bets.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | routing::{get, post, put, delete}, [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `delete` [INFO] [stdout] --> src/routes/comrade_route.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | routing::{delete, get, post}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vote_routes::*` [INFO] [stdout] --> src/routes/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use vote_routes::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `yup_oauth2::ServiceAccountKey` [INFO] [stdout] --> src/services/fcm_service.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use yup_oauth2::ServiceAccountKey; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:53:54 [INFO] [stdout] | [INFO] [stdout] 53 | let now_eat = (Utc::now() + chrono::FixedOffset::east(3 * 3600)) [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:53:54 [INFO] [stdout] | [INFO] [stdout] 53 | let now_eat = (Utc::now() + chrono::FixedOffset::east(3 * 3600)) [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:337:61 [INFO] [stdout] | [INFO] [stdout] 337 | ... (kickoff + chrono::FixedOffset::east(3 * 3600)) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:347:61 [INFO] [stdout] | [INFO] [stdout] 347 | ... (kickoff + chrono::FixedOffset::east(3 * 3600)) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:360:61 [INFO] [stdout] | [INFO] [stdout] 360 | ... (kickoff + chrono::FixedOffset::east(3 * 3600)).format("%H:%M") [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:459:67 [INFO] [stdout] | [INFO] [stdout] 459 | let kickoff_eat = (kickoff + chrono::FixedOffset::east(3 * 3600)).format("%H:%M"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:337:61 [INFO] [stdout] | [INFO] [stdout] 337 | ... (kickoff + chrono::FixedOffset::east(3 * 3600)) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:347:61 [INFO] [stdout] | [INFO] [stdout] 347 | ... (kickoff + chrono::FixedOffset::east(3 * 3600)) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:360:61 [INFO] [stdout] | [INFO] [stdout] 360 | ... (kickoff + chrono::FixedOffset::east(3 * 3600)).format("%H:%M") [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/handlers/games.rs:459:67 [INFO] [stdout] | [INFO] [stdout] 459 | let kickoff_eat = (kickoff + chrono::FixedOffset::east(3 * 3600)).format("%H:%M"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `options` [INFO] [stdout] --> src/handlers/bets.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | let options = mongodb::options::FindOneAndUpdateOptions::builder() [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `options` [INFO] [stdout] --> src/handlers/bets.rs:309:9 [INFO] [stdout] | [INFO] [stdout] 309 | let options = mongodb::options::FindOneAndUpdateOptions::builder() [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `post_owner_id` [INFO] [stdout] --> src/handlers/posta.rs:1172:17 [INFO] [stdout] | [INFO] [stdout] 1172 | let post_owner_id = updated_post.user_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_post_owner_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `post` [INFO] [stdout] --> src/handlers/posta.rs:1366:9 [INFO] [stdout] | [INFO] [stdout] 1366 | let post = match post_collection [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `post_owner_id` [INFO] [stdout] --> src/handlers/posta.rs:1172:17 [INFO] [stdout] | [INFO] [stdout] 1172 | let post_owner_id = updated_post.user_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_post_owner_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `post` [INFO] [stdout] --> src/handlers/posta.rs:1366:9 [INFO] [stdout] | [INFO] [stdout] 1366 | let post = match post_collection [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `home_votes` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1765:13 [INFO] [stdout] | [INFO] [stdout] 1765 | let home_votes = vote_collection [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_home_votes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `draw_votes` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1772:13 [INFO] [stdout] | [INFO] [stdout] 1772 | let draw_votes = vote_collection [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_draw_votes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `away_votes` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1779:13 [INFO] [stdout] | [INFO] [stdout] 1779 | let away_votes = vote_collection [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_away_votes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `home_votes` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1765:13 [INFO] [stdout] | [INFO] [stdout] 1765 | let home_votes = vote_collection [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_home_votes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `draw_votes` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1772:13 [INFO] [stdout] | [INFO] [stdout] 1772 | let draw_votes = vote_collection [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_draw_votes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `away_votes` [INFO] [stdout] --> src/handlers/vote_handlers.rs:1779:13 [INFO] [stdout] | [INFO] [stdout] 1779 | let away_votes = vote_collection [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_away_votes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `username` [INFO] [stdout] --> src/handlers/ws_handler.rs:445:5 [INFO] [stdout] | [INFO] [stdout] 445 | username: &str, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `username` [INFO] [stdout] --> src/handlers/ws_handler.rs:445:5 [INFO] [stdout] | [INFO] [stdout] 445 | username: &str, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `jwt_secret`, `sms_api_key`, `sms_username`, `sms_from`, and `mpesa_validation_url` are never read [INFO] [stdout] --> src/config.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 8 | // ── Core ───────────────────────────────────────────────────────────────── [INFO] [stdout] 9 | pub jwt_secret: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub sms_api_key: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | pub sms_username: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | pub sms_from: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub mpesa_validation_url: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppConfig` 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 `is_mpesa_configured` and `is_sms_configured` are never used [INFO] [stdout] --> src/config.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl AppConfig { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn is_mpesa_configured(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn is_sms_configured(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/errors.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | NoImageProvided, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | UserNotFound, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | InvalidPassword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | PhoneNotVerified, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | InvalidOtp, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | OtpExpired, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | DuplicateKey, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | MpesaError(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | AuthError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | Unauthorized, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | RateLimitExceeded, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | ServiceUnavailable(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | ConfigurationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | RedisError(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | HttpClientError(String), [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: associated functions `mpesa`, `external_api`, `cloudinary`, `configuration`, `redis`, and `internal_server_error` are never used [INFO] [stdout] --> src/errors.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl AppError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn mpesa(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn external_api(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn cloudinary(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn configuration(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn redis(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn internal_server_error(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/handlers/games.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct TestNotificationRequest { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestNotificationRequest` 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 `send_lineup_available_notification` is never used [INFO] [stdout] --> src/handlers/games.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | pub async fn send_lineup_available_notification( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_and_send_hype_notifications` is never used [INFO] [stdout] --> src/handlers/games.rs:271:14 [INFO] [stdout] | [INFO] [stdout] 271 | pub async fn check_and_send_hype_notifications( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_and_send_countdown_notifications` is never used [INFO] [stdout] --> src/handlers/games.rs:399:14 [INFO] [stdout] | [INFO] [stdout] 399 | pub async fn check_and_send_countdown_notifications( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_goal_notification_to_voter` is never used [INFO] [stdout] --> src/handlers/games.rs:520:10 [INFO] [stdout] | [INFO] [stdout] 520 | async fn send_goal_notification_to_voter( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/handlers/kalka.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_numbers` is never used [INFO] [stdout] --> src/handlers/kalka.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn get_numbers() -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_number` is never used [INFO] [stdout] --> src/handlers/kalka.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn get_number() -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/handlers/kalka.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn add(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `subtract` is never used [INFO] [stdout] --> src/handlers/kalka.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn subtract(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply` is never used [INFO] [stdout] --> src/handlers/kalka.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn multiply(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide` is never used [INFO] [stdout] --> src/handlers/kalka.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn divide(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serve_image` is never used [INFO] [stdout] --> src/handlers/upload.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn serve_image(Path(file_name): Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serve_video` is never used [INFO] [stdout] --> src/handlers/upload.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | pub async fn serve_video(Path(file_name): Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serve_media` is never used [INFO] [stdout] --> src/handlers/upload.rs:122:14 [INFO] [stdout] | [INFO] [stdout] 122 | pub async fn serve_media(Path(file_name): Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecentArchiveQuery` is never constructed [INFO] [stdout] --> src/handlers/archive.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | pub struct RecentArchiveQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_recent_archive_activities` is never used [INFO] [stdout] --> src/handlers/archive.rs:297:14 [INFO] [stdout] | [INFO] [stdout] 297 | pub async fn get_recent_archive_activities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_user_activity` is never used [INFO] [stdout] --> src/handlers/archive.rs:321:14 [INFO] [stdout] | [INFO] [stdout] 321 | pub async fn check_user_activity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_archives_by_username` is never used [INFO] [stdout] --> src/handlers/archive.rs:484:14 [INFO] [stdout] | [INFO] [stdout] 484 | pub async fn get_archives_by_username( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `result_type`, `originator_conversation_id`, `conversation_id`, and `result_parameters` are never read [INFO] [stdout] --> src/handlers/b2c_handlers.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct B2CResult { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 41 | #[serde(rename = "ResultType")] [INFO] [stdout] 42 | pub result_type: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub originator_conversation_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub conversation_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub result_parameters: B2CResultParameters, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `B2CResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `result_parameter` is never read [INFO] [stdout] --> src/handlers/b2c_handlers.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct B2CResultParameters { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 65 | #[serde(rename = "ResultParameter")] [INFO] [stdout] 66 | pub result_parameter: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `B2CResultParameters` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key` and `value` are never read [INFO] [stdout] --> src/handlers/b2c_handlers.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct B2CResultParameter { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 71 | #[serde(rename = "Key")] [INFO] [stdout] 72 | pub key: String, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub value: serde_json::Value, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `B2CResultParameter` 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 `get_b2c_status` is never used [INFO] [stdout] --> src/handlers/b2c_handlers.rs:173:14 [INFO] [stdout] | [INFO] [stdout] 173 | pub async fn get_b2c_status() -> impl IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `health_check` is never used [INFO] [stdout] --> src/handlers/chat_handlers.rs:615:14 [INFO] [stdout] | [INFO] [stdout] 615 | pub async fn health_check() -> impl IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidationRequest` is never constructed [INFO] [stdout] --> src/handlers/mpesa_handlers.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct ValidationRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_token_status` is never used [INFO] [stdout] --> src/handlers/notification_handler.rs:304:14 [INFO] [stdout] | [INFO] [stdout] 304 | pub async fn get_user_token_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrate_posts` is never used [INFO] [stdout] --> src/handlers/posta.rs:544:14 [INFO] [stdout] | [INFO] [stdout] 544 | pub async fn migrate_posts(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bulk_sub_fixture_stats` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:527:14 [INFO] [stdout] | [INFO] [stdout] 527 | pub async fn get_bulk_sub_fixture_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_trending_sub_fixtures` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:591:14 [INFO] [stdout] | [INFO] [stdout] 591 | pub async fn get_trending_sub_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_sub_fixture` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:634:14 [INFO] [stdout] | [INFO] [stdout] 634 | pub async fn create_sub_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_sub_fixture` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:667:14 [INFO] [stdout] | [INFO] [stdout] 667 | pub async fn update_sub_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_sub_fixture` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:720:14 [INFO] [stdout] | [INFO] [stdout] 720 | pub async fn delete_sub_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_vote_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1547:14 [INFO] [stdout] | [INFO] [stdout] 1547 | pub async fn get_vote_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_like_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1554:14 [INFO] [stdout] | [INFO] [stdout] 1554 | pub async fn get_like_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1561:14 [INFO] [stdout] | [INFO] [stdout] 1561 | pub async fn get_comment_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fixture_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1568:14 [INFO] [stdout] | [INFO] [stdout] 1568 | pub async fn get_fixture_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_all_counts_for_fixture` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1599:14 [INFO] [stdout] | [INFO] [stdout] 1599 | pub async fn get_all_counts_for_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1677:14 [INFO] [stdout] | [INFO] [stdout] 1677 | pub async fn get_user_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_total_counts` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1710:14 [INFO] [stdout] | [INFO] [stdout] 1710 | pub async fn get_total_counts(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_batch_fixture_counts` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1746:14 [INFO] [stdout] | [INFO] [stdout] 1746 | pub async fn get_batch_fixture_counts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cleanup_old_votes` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1853:14 [INFO] [stdout] | [INFO] [stdout] 1853 | pub async fn cleanup_old_votes(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_overview_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1883:14 [INFO] [stdout] | [INFO] [stdout] 1883 | pub async fn get_overview_stats(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_counts_for_multiple_fixtures` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1965:14 [INFO] [stdout] | [INFO] [stdout] 1965 | pub async fn get_comment_counts_for_multiple_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_total_likes_for_multiple_fixtures` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1988:14 [INFO] [stdout] | [INFO] [stdout] 1988 | pub async fn get_total_likes_for_multiple_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_combined_stats_for_multiple_fixtures` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2008:14 [INFO] [stdout] | [INFO] [stdout] 2008 | pub async fn get_combined_stats_for_multiple_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_realtime_vote_updates` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2046:14 [INFO] [stdout] | [INFO] [stdout] 2046 | pub async fn get_realtime_vote_updates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_counts_by_selection` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2135:14 [INFO] [stdout] | [INFO] [stdout] 2135 | pub async fn get_comment_counts_by_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fixture_engagement_summary` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2193:14 [INFO] [stdout] | [INFO] [stdout] 2193 | pub async fn get_fixture_engagement_summary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `country` is never read [INFO] [stdout] --> src/handlers/lineup_handler.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct RawCoach { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 33 | pub name: String, [INFO] [stdout] 34 | pub country: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawCoach` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/handlers/lineup_handler.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct LineupsUpdateRequest { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineupsUpdateRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WSMessage` is never used [INFO] [stdout] --> src/handlers/ws_handler.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum WSMessage { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentPayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct CommentPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChatMessagePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct ChatMessagePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RoomMessagePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct RoomMessagePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentCountPayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct CommentCountPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LikePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct LikePayload { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypingPayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct TypingPayload { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentReadReceipt` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct CommentReadReceipt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PresencePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct PresencePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoteUpdatePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct VoteUpdatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateGame` is never constructed [INFO] [stdout] --> src/models/game.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct CreateGame { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `match_id` is never read [INFO] [stdout] --> src/models/game.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct UpdateGameScore { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 134 | pub match_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UpdateGameScore` 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 `CommentaryUpdate` is never constructed [INFO] [stdout] --> src/models/game.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct CommentaryUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LatestCommentaryQuery` is never constructed [INFO] [stdout] --> src/models/game.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct LatestCommentaryQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `limit`, `skip`, and `source` are never read [INFO] [stdout] --> src/models/game.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct GameQuery { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 179 | pub limit: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 180 | pub skip: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 181 | pub source: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `match_id` and `is_live` are never read [INFO] [stdout] --> src/models/game.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 185 | pub struct GameStatusUpdate { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 186 | pub match_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 187 | pub status: String, [INFO] [stdout] 188 | pub is_live: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameStatusUpdate` 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 `ApiResponse` is never constructed [INFO] [stdout] --> src/models/game.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedGames` is never constructed [INFO] [stdout] --> src/models/game.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct PaginatedGames { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveGamesResponse` is never constructed [INFO] [stdout] --> src/models/game.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct LiveGamesResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_event_request` is never used [INFO] [stdout] --> src/models/game.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 231 | impl LiveGameUpdate { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 232 | pub fn into_event_request(self) -> EventRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EventRequest` is never constructed [INFO] [stdout] --> src/models/game.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | pub struct EventRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthResponse` is never constructed [INFO] [stdout] --> src/models/user.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct AuthResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/models/archive.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl ActivityType { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 32 | pub fn as_str(&self) -> &str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bet_id` is never read [INFO] [stdout] --> src/models/bets.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct UpdateBetRequest { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 130 | pub bet_id: String, // ObjectId as string [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UpdateBetRequest` 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 `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/bets.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 223 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedResponse` is never constructed [INFO] [stdout] --> src/models/chat.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct PaginatedResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/chat.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/chat.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 224 | impl ErrorResponse { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 225 | pub fn new(error: &str, message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HealthCheckResponse` is never constructed [INFO] [stdout] --> src/models/chat.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct HealthCheckResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostComments` is never constructed [INFO] [stdout] --> src/models/comments.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct PostComments { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateComment` is never constructed [INFO] [stdout] --> src/models/comments.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct CreateComment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateComment` is never constructed [INFO] [stdout] --> src/models/comments.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct UpdateComment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct CommentResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentQuery` is never constructed [INFO] [stdout] --> src/models/comments.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct CommentQuery { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `success` and `with_message` are never used [INFO] [stdout] --> src/models/comments.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 129 | impl ApiResponse { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] 130 | pub fn success(data: T) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn with_message(data: T, message: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 148 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/comments.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl ErrorResponse { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 156 | pub fn new(error: &str, message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedComments` is never constructed [INFO] [stdout] --> src/models/comments.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct PaginatedComments { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedGames` is never constructed [INFO] [stdout] --> src/models/comments.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PaginatedGames { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveGamesResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct LiveGamesResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentStats` is never constructed [INFO] [stdout] --> src/models/comments.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct CommentStats { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BulkCommentRequest` is never constructed [INFO] [stdout] --> src/models/comments.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct BulkCommentRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BulkCommentResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:221:12 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct BulkCommentResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FailedComment` is never constructed [INFO] [stdout] --> src/models/comments.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 229 | pub struct FailedComment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_comment` is never used [INFO] [stdout] --> src/models/comments.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn validate_comment(comment: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_poster_name` is never used [INFO] [stdout] --> src/models/comments.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn validate_poster_name(name: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/models/livegames.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveUpdate` is never constructed [INFO] [stdout] --> src/models/livegames.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct LiveUpdate { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveGamesResponse` is never constructed [INFO] [stdout] --> src/models/livegames.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct LiveGamesResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveQuery` is never constructed [INFO] [stdout] --> src/models/livegames.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct LiveQuery { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NotificationResponse` is never constructed [INFO] [stdout] --> src/models/notification.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct NotificationResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vote_alerts`, `like_alerts`, and `comment_alerts` are never read [INFO] [stdout] --> src/models/notification.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct UpdatePreferencesRequest { [INFO] [stdout] | ------------------------ fields in this struct [INFO] [stdout] 67 | pub user_id: String, [INFO] [stdout] 68 | pub vote_alerts: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub like_alerts: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 70 | pub comment_alerts: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UpdatePreferencesRequest` 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 `ResetOTP` is never constructed [INFO] [stdout] --> src/models/otp.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ResetOTP { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Payment` is never constructed [INFO] [stdout] --> src/models/payment.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Payment { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreatePayment` is never constructed [INFO] [stdout] --> src/models/payment.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CreatePayment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentQuery` is never constructed [INFO] [stdout] --> src/models/payment.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct PaymentQuery { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `starter_id` is never read [INFO] [stdout] --> src/models/pledges.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct PledgeQuery { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 45 | pub starter_id: Option, // Added field [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PledgeQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_timestamps` and `has_text` are never used [INFO] [stdout] --> src/models/posta.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Post { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn update_timestamps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn has_text(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_timestamps` is never used [INFO] [stdout] --> src/models/posta.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 182 | impl Comment { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn update_timestamps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateSubFixtureRequest` is never constructed [INFO] [stdout] --> src/models/sub_fixture.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct CreateSubFixtureRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateSubFixtureRequest` is never constructed [INFO] [stdout] --> src/models/sub_fixture.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct UpdateSubFixtureRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BulkStatsRequest` is never constructed [INFO] [stdout] --> src/models/sub_fixture.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct BulkStatsRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MpesaTransaction` is never constructed [INFO] [stdout] --> src/models/transaction.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct MpesaTransaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateMpesaTransaction` is never constructed [INFO] [stdout] --> src/models/transaction.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct CreateMpesaTransaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MpesaTransactionQuery` is never constructed [INFO] [stdout] --> src/models/transaction.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct MpesaTransactionQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallbackData` is never constructed [INFO] [stdout] --> src/models/transaction.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct CallbackData { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallbackBody` is never constructed [INFO] [stdout] --> src/models/transaction.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct CallbackBody { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StkCallback` is never constructed [INFO] [stdout] --> src/models/transaction.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct StkCallback { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallbackMetadata` is never constructed [INFO] [stdout] --> src/models/transaction.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct CallbackMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetadataItem` is never constructed [INFO] [stdout] --> src/models/transaction.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct MetadataItem { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Comrade` is never constructed [INFO] [stdout] --> src/models/comrade.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Comrade { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AddComradeRequest` is never constructed [INFO] [stdout] --> src/models/comrade.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct AddComradeRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ComradeResponse` is never constructed [INFO] [stdout] --> src/models/comrade.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct ComradeResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lineups` is never constructed [INFO] [stdout] --> src/models/line_up.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Lineups { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TeamLineup` is never constructed [INFO] [stdout] --> src/models/line_up.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TeamLineup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Coach` is never constructed [INFO] [stdout] --> src/models/line_up.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct Coach { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameLineups` is never constructed [INFO] [stdout] --> src/models/line_up.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GameLineups { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LineupsUpdate` is never constructed [INFO] [stdout] --> src/models/line_up.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct LineupsUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawLineupsData` is never constructed [INFO] [stdout] --> src/models/line_up.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct RawLineupsData { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawTeamLineup` is never constructed [INFO] [stdout] --> src/models/line_up.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct RawTeamLineup { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawPlayer` is never constructed [INFO] [stdout] --> src/models/line_up.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct RawPlayer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawCoach` is never constructed [INFO] [stdout] --> src/models/line_up.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct RawCoach { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_home_starting_xi_names`, `get_away_starting_xi_names`, `get_home_captain`, `get_away_captain`, and `get_player_by_number` are never used [INFO] [stdout] --> src/models/line_up.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl LineupsDocument { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 123 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn get_home_starting_xi_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn get_away_starting_xi_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn get_home_captain(&self) -> Option<&Player> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn get_away_captain(&self) -> Option<&Player> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn get_player_by_number(&self, team: &str, number: i32) -> Option<&Player> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_goalkeeper`, `is_defender`, `is_midfielder`, and `is_forward` are never used [INFO] [stdout] --> src/models/line_up.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 189 | pub fn is_goalkeeper(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn is_defender(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn is_midfielder(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn is_forward(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LineupsResponse` is never constructed [INFO] [stdout] --> src/models/line_up.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct LineupsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimplifiedLineups` is never constructed [INFO] [stdout] --> src/models/line_up.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct SimplifiedLineups { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimplifiedPlayer` is never constructed [INFO] [stdout] --> src/models/line_up.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 225 | pub struct SimplifiedPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/models/statistics.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct StatisticsRequest { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 83 | pub timestamp: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatisticsRequest` 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 `TypingIndicator` is never constructed [INFO] [stdout] --> src/models/vote.rs:277:12 [INFO] [stdout] | [INFO] [stdout] 277 | pub struct TypingIndicator { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadReceipt` is never constructed [INFO] [stdout] --> src/models/vote.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 287 | pub struct ReadReceipt { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnreadCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 298 | pub struct UnreadCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentWithUser` is never constructed [INFO] [stdout] --> src/models/vote.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 375 | pub struct CommentWithUser { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserVoteStatus` is never constructed [INFO] [stdout] --> src/models/vote.rs:417:12 [INFO] [stdout] | [INFO] [stdout] 417 | pub struct UserVoteStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureStats` is never constructed [INFO] [stdout] --> src/models/vote.rs:435:12 [INFO] [stdout] | [INFO] [stdout] 435 | pub struct FixtureStats { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:494:12 [INFO] [stdout] | [INFO] [stdout] 494 | pub struct StatsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `limit` and `skip` are never read [INFO] [stdout] --> src/models/vote.rs:508:9 [INFO] [stdout] | [INFO] [stdout] 502 | pub struct VoteQuery { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 508 | pub limit: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 509 | pub skip: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VoteQuery` 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 `CommentQuery` is never constructed [INFO] [stdout] --> src/models/vote.rs:513:12 [INFO] [stdout] | [INFO] [stdout] 513 | pub struct CommentQuery { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TotalCounts` is never constructed [INFO] [stdout] --> src/models/vote.rs:563:12 [INFO] [stdout] | [INFO] [stdout] 563 | pub struct TotalCounts { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TotalCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:584:12 [INFO] [stdout] | [INFO] [stdout] 584 | pub struct TotalCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureCounts` is never constructed [INFO] [stdout] --> src/models/vote.rs:591:12 [INFO] [stdout] | [INFO] [stdout] 591 | pub struct FixtureCounts { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:633:12 [INFO] [stdout] | [INFO] [stdout] 633 | pub struct FixtureCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFixtureCountsRequest` is never constructed [INFO] [stdout] --> src/models/vote.rs:640:12 [INFO] [stdout] | [INFO] [stdout] 640 | pub struct BatchFixtureCountsRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureCountItem` is never constructed [INFO] [stdout] --> src/models/vote.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 649 | pub struct FixtureCountItem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFixtureCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:682:12 [INFO] [stdout] | [INFO] [stdout] 682 | pub struct BatchFixtureCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_create_vote` is never used [INFO] [stdout] --> src/models/vote.rs:789:12 [INFO] [stdout] | [INFO] [stdout] 788 | impl Vote { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 789 | pub fn from_create_vote(create_vote: CreateVote) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_create_like` is never used [INFO] [stdout] --> src/models/vote.rs:806:12 [INFO] [stdout] | [INFO] [stdout] 805 | impl Like { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 806 | pub fn from_create_like(create_like: CreateLike) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_create_comment`, `is_seen_by`, and `mark_seen` are never used [INFO] [stdout] --> src/models/vote.rs:829:12 [INFO] [stdout] | [INFO] [stdout] 828 | impl Comment { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 829 | pub fn from_create_comment(create_comment: CreateComment) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 879 | pub fn is_seen_by(&self, user_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 884 | pub fn mark_seen(&mut self, user_id: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bson_datetime_to_iso_string` is never used [INFO] [stdout] --> src/models/vote.rs:896:8 [INFO] [stdout] | [INFO] [stdout] 896 | pub fn bson_datetime_to_iso_string(dt: &BsonDateTime) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_bson_datetime_to_iso_string` is never used [INFO] [stdout] --> src/models/vote.rs:905:8 [INFO] [stdout] | [INFO] [stdout] 905 | pub fn option_bson_datetime_to_iso_string(dt: &Option) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:914:12 [INFO] [stdout] | [INFO] [stdout] 914 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:922:12 [INFO] [stdout] | [INFO] [stdout] 922 | pub struct PaginatedResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:930:12 [INFO] [stdout] | [INFO] [stdout] 930 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/vote.rs:938:12 [INFO] [stdout] | [INFO] [stdout] 937 | impl ErrorResponse { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 938 | pub fn new(error: &str, message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vote_stats_routes` is never used [INFO] [stdout] --> src/routes/vote_routes.rs:156:8 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn vote_stats_routes() -> Router { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vote_admin_routes` is never used [INFO] [stdout] --> src/routes/vote_routes.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn vote_admin_routes() -> Router { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expires_in` is never read [INFO] [stdout] --> src/services/mpesa_service.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct AuthResponse { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 15 | pub access_token: String, [INFO] [stdout] 16 | pub expires_in: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `check_connectivity` is never used [INFO] [stdout] --> src/services/mpesa_service.rs:419:18 [INFO] [stdout] | [INFO] [stdout] 103 | impl MpesaService { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 419 | pub async fn check_connectivity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectivityStatus` is never constructed [INFO] [stdout] --> src/services/mpesa_service.rs:453:12 [INFO] [stdout] | [INFO] [stdout] 453 | pub struct ConnectivityStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Result` should have a snake case name [INFO] [stdout] --> src/handlers/b2c_handlers.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub Result: B2CResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Body` should have a snake case name [INFO] [stdout] --> src/handlers/mpesa_handlers.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub Body: CallbackBody, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `toUserId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub toUserId: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `to_user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fixtureId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | pub fixtureId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `fixture_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fromUserId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub fromUserId: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `from_user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `messageId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | pub messageId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `message_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `replyTo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | pub replyTo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `reply_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `imageUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub imageUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `image_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `videoUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | pub videoUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `video_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isImage` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | pub isImage: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_image` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isVideo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub isVideo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `roomId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | pub roomId: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `room_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fromUserId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | pub fromUserId: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `from_user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `messageId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | pub messageId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `message_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `replyTo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub replyTo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `reply_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `imageUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | pub imageUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `image_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `videoUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | pub videoUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `video_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isImage` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | pub isImage: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_image` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isVideo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | pub isVideo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fixtureId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | pub fixtureId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `fixture_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fixtureId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | pub fixtureId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `fixture_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `userId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | pub userId: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `totalLikes` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | pub totalLikes: i64, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `total_likes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Body` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub Body: CallbackBody, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `stkCallback` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub stkCallback: StkCallback, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `stk_callback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Item` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub Item: Vec, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Name` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | pub Name: String, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | pub Value: serde_json::Value, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `jwt_secret`, `sms_api_key`, `sms_username`, `sms_from`, and `mpesa_validation_url` are never read [INFO] [stdout] --> src/config.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 8 | // ── Core ───────────────────────────────────────────────────────────────── [INFO] [stdout] 9 | pub jwt_secret: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub sms_api_key: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | pub sms_username: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | pub sms_from: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub mpesa_validation_url: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppConfig` 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 `is_mpesa_configured` and `is_sms_configured` are never used [INFO] [stdout] --> src/config.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl AppConfig { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn is_mpesa_configured(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn is_sms_configured(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/errors.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | NoImageProvided, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | UserNotFound, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | InvalidPassword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | PhoneNotVerified, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | InvalidOtp, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | OtpExpired, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | DuplicateKey, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | MpesaError(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | AuthError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | Unauthorized, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | RateLimitExceeded, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | ServiceUnavailable(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | ConfigurationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | RedisError(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | HttpClientError(String), [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: associated functions `mpesa`, `external_api`, `cloudinary`, `configuration`, `redis`, and `internal_server_error` are never used [INFO] [stdout] --> src/errors.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl AppError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn mpesa(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn external_api(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn cloudinary(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn configuration(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn redis(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn internal_server_error(msg: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/handlers/games.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct TestNotificationRequest { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestNotificationRequest` 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 `send_lineup_available_notification` is never used [INFO] [stdout] --> src/handlers/games.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 172 | pub async fn send_lineup_available_notification( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_and_send_hype_notifications` is never used [INFO] [stdout] --> src/handlers/games.rs:271:14 [INFO] [stdout] | [INFO] [stdout] 271 | pub async fn check_and_send_hype_notifications( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_and_send_countdown_notifications` is never used [INFO] [stdout] --> src/handlers/games.rs:399:14 [INFO] [stdout] | [INFO] [stdout] 399 | pub async fn check_and_send_countdown_notifications( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `send_goal_notification_to_voter` is never used [INFO] [stdout] --> src/handlers/games.rs:520:10 [INFO] [stdout] | [INFO] [stdout] 520 | async fn send_goal_notification_to_voter( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/handlers/kalka.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn main() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_numbers` is never used [INFO] [stdout] --> src/handlers/kalka.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn get_numbers() -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_number` is never used [INFO] [stdout] --> src/handlers/kalka.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn get_number() -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add` is never used [INFO] [stdout] --> src/handlers/kalka.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn add(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `subtract` is never used [INFO] [stdout] --> src/handlers/kalka.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn subtract(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply` is never used [INFO] [stdout] --> src/handlers/kalka.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn multiply(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide` is never used [INFO] [stdout] --> src/handlers/kalka.rs:93:4 [INFO] [stdout] | [INFO] [stdout] 93 | fn divide(a: f64, b: f64) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serve_image` is never used [INFO] [stdout] --> src/handlers/upload.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn serve_image(Path(file_name): Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serve_video` is never used [INFO] [stdout] --> src/handlers/upload.rs:63:14 [INFO] [stdout] | [INFO] [stdout] 63 | pub async fn serve_video(Path(file_name): Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `serve_media` is never used [INFO] [stdout] --> src/handlers/upload.rs:122:14 [INFO] [stdout] | [INFO] [stdout] 122 | pub async fn serve_media(Path(file_name): Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecentArchiveQuery` is never constructed [INFO] [stdout] --> src/handlers/archive.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 293 | pub struct RecentArchiveQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_recent_archive_activities` is never used [INFO] [stdout] --> src/handlers/archive.rs:297:14 [INFO] [stdout] | [INFO] [stdout] 297 | pub async fn get_recent_archive_activities( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_user_activity` is never used [INFO] [stdout] --> src/handlers/archive.rs:321:14 [INFO] [stdout] | [INFO] [stdout] 321 | pub async fn check_user_activity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_archives_by_username` is never used [INFO] [stdout] --> src/handlers/archive.rs:484:14 [INFO] [stdout] | [INFO] [stdout] 484 | pub async fn get_archives_by_username( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `result_type`, `originator_conversation_id`, `conversation_id`, and `result_parameters` are never read [INFO] [stdout] --> src/handlers/b2c_handlers.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct B2CResult { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 41 | #[serde(rename = "ResultType")] [INFO] [stdout] 42 | pub result_type: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub originator_conversation_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub conversation_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub result_parameters: B2CResultParameters, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `B2CResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `result_parameter` is never read [INFO] [stdout] --> src/handlers/b2c_handlers.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct B2CResultParameters { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 65 | #[serde(rename = "ResultParameter")] [INFO] [stdout] 66 | pub result_parameter: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `B2CResultParameters` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key` and `value` are never read [INFO] [stdout] --> src/handlers/b2c_handlers.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct B2CResultParameter { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 71 | #[serde(rename = "Key")] [INFO] [stdout] 72 | pub key: String, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub value: serde_json::Value, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `B2CResultParameter` 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 `get_b2c_status` is never used [INFO] [stdout] --> src/handlers/b2c_handlers.rs:173:14 [INFO] [stdout] | [INFO] [stdout] 173 | pub async fn get_b2c_status() -> impl IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `health_check` is never used [INFO] [stdout] --> src/handlers/chat_handlers.rs:615:14 [INFO] [stdout] | [INFO] [stdout] 615 | pub async fn health_check() -> impl IntoResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidationRequest` is never constructed [INFO] [stdout] --> src/handlers/mpesa_handlers.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct ValidationRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_token_status` is never used [INFO] [stdout] --> src/handlers/notification_handler.rs:304:14 [INFO] [stdout] | [INFO] [stdout] 304 | pub async fn get_user_token_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrate_posts` is never used [INFO] [stdout] --> src/handlers/posta.rs:544:14 [INFO] [stdout] | [INFO] [stdout] 544 | pub async fn migrate_posts(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bulk_sub_fixture_stats` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:527:14 [INFO] [stdout] | [INFO] [stdout] 527 | pub async fn get_bulk_sub_fixture_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_trending_sub_fixtures` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:591:14 [INFO] [stdout] | [INFO] [stdout] 591 | pub async fn get_trending_sub_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_sub_fixture` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:634:14 [INFO] [stdout] | [INFO] [stdout] 634 | pub async fn create_sub_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_sub_fixture` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:667:14 [INFO] [stdout] | [INFO] [stdout] 667 | pub async fn update_sub_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `delete_sub_fixture` is never used [INFO] [stdout] --> src/handlers/sub_fixture_handler.rs:720:14 [INFO] [stdout] | [INFO] [stdout] 720 | pub async fn delete_sub_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_vote_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1547:14 [INFO] [stdout] | [INFO] [stdout] 1547 | pub async fn get_vote_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_like_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1554:14 [INFO] [stdout] | [INFO] [stdout] 1554 | pub async fn get_like_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1561:14 [INFO] [stdout] | [INFO] [stdout] 1561 | pub async fn get_comment_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fixture_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1568:14 [INFO] [stdout] | [INFO] [stdout] 1568 | pub async fn get_fixture_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_all_counts_for_fixture` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1599:14 [INFO] [stdout] | [INFO] [stdout] 1599 | pub async fn get_all_counts_for_fixture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_user_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1677:14 [INFO] [stdout] | [INFO] [stdout] 1677 | pub async fn get_user_stats( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_total_counts` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1710:14 [INFO] [stdout] | [INFO] [stdout] 1710 | pub async fn get_total_counts(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_batch_fixture_counts` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1746:14 [INFO] [stdout] | [INFO] [stdout] 1746 | pub async fn get_batch_fixture_counts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cleanup_old_votes` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1853:14 [INFO] [stdout] | [INFO] [stdout] 1853 | pub async fn cleanup_old_votes(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_overview_stats` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1883:14 [INFO] [stdout] | [INFO] [stdout] 1883 | pub async fn get_overview_stats(State(state): State) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_counts_for_multiple_fixtures` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1965:14 [INFO] [stdout] | [INFO] [stdout] 1965 | pub async fn get_comment_counts_for_multiple_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_total_likes_for_multiple_fixtures` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:1988:14 [INFO] [stdout] | [INFO] [stdout] 1988 | pub async fn get_total_likes_for_multiple_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_combined_stats_for_multiple_fixtures` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2008:14 [INFO] [stdout] | [INFO] [stdout] 2008 | pub async fn get_combined_stats_for_multiple_fixtures( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_realtime_vote_updates` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2046:14 [INFO] [stdout] | [INFO] [stdout] 2046 | pub async fn get_realtime_vote_updates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_comment_counts_by_selection` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2135:14 [INFO] [stdout] | [INFO] [stdout] 2135 | pub async fn get_comment_counts_by_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_fixture_engagement_summary` is never used [INFO] [stdout] --> src/handlers/vote_handlers.rs:2193:14 [INFO] [stdout] | [INFO] [stdout] 2193 | pub async fn get_fixture_engagement_summary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `country` is never read [INFO] [stdout] --> src/handlers/lineup_handler.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct RawCoach { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 33 | pub name: String, [INFO] [stdout] 34 | pub country: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawCoach` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/handlers/lineup_handler.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct LineupsUpdateRequest { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LineupsUpdateRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WSMessage` is never used [INFO] [stdout] --> src/handlers/ws_handler.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum WSMessage { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentPayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct CommentPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChatMessagePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct ChatMessagePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RoomMessagePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct RoomMessagePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentCountPayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct CommentCountPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LikePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct LikePayload { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypingPayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct TypingPayload { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentReadReceipt` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct CommentReadReceipt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PresencePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct PresencePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VoteUpdatePayload` is never constructed [INFO] [stdout] --> src/handlers/ws_handler.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct VoteUpdatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateGame` is never constructed [INFO] [stdout] --> src/models/game.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct CreateGame { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `match_id` is never read [INFO] [stdout] --> src/models/game.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct UpdateGameScore { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 134 | pub match_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UpdateGameScore` 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 `CommentaryUpdate` is never constructed [INFO] [stdout] --> src/models/game.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct CommentaryUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LatestCommentaryQuery` is never constructed [INFO] [stdout] --> src/models/game.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct LatestCommentaryQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `limit`, `skip`, and `source` are never read [INFO] [stdout] --> src/models/game.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct GameQuery { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 179 | pub limit: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 180 | pub skip: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 181 | pub source: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `match_id` and `is_live` are never read [INFO] [stdout] --> src/models/game.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 185 | pub struct GameStatusUpdate { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 186 | pub match_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 187 | pub status: String, [INFO] [stdout] 188 | pub is_live: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameStatusUpdate` 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 `ApiResponse` is never constructed [INFO] [stdout] --> src/models/game.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedGames` is never constructed [INFO] [stdout] --> src/models/game.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct PaginatedGames { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveGamesResponse` is never constructed [INFO] [stdout] --> src/models/game.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct LiveGamesResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_event_request` is never used [INFO] [stdout] --> src/models/game.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 231 | impl LiveGameUpdate { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 232 | pub fn into_event_request(self) -> EventRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EventRequest` is never constructed [INFO] [stdout] --> src/models/game.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 266 | pub struct EventRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthResponse` is never constructed [INFO] [stdout] --> src/models/user.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct AuthResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_str` is never used [INFO] [stdout] --> src/models/archive.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl ActivityType { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 32 | pub fn as_str(&self) -> &str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bet_id` is never read [INFO] [stdout] --> src/models/bets.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct UpdateBetRequest { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 130 | pub bet_id: String, // ObjectId as string [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UpdateBetRequest` 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 `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/bets.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 223 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedResponse` is never constructed [INFO] [stdout] --> src/models/chat.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct PaginatedResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/chat.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/chat.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 224 | impl ErrorResponse { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 225 | pub fn new(error: &str, message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HealthCheckResponse` is never constructed [INFO] [stdout] --> src/models/chat.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct HealthCheckResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PostComments` is never constructed [INFO] [stdout] --> src/models/comments.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct PostComments { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateComment` is never constructed [INFO] [stdout] --> src/models/comments.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct CreateComment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateComment` is never constructed [INFO] [stdout] --> src/models/comments.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct UpdateComment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct CommentResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentQuery` is never constructed [INFO] [stdout] --> src/models/comments.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct CommentQuery { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `success` and `with_message` are never used [INFO] [stdout] --> src/models/comments.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 129 | impl ApiResponse { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] 130 | pub fn success(data: T) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn with_message(data: T, message: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 148 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/comments.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl ErrorResponse { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 156 | pub fn new(error: &str, message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedComments` is never constructed [INFO] [stdout] --> src/models/comments.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct PaginatedComments { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedGames` is never constructed [INFO] [stdout] --> src/models/comments.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PaginatedGames { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveGamesResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct LiveGamesResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentStats` is never constructed [INFO] [stdout] --> src/models/comments.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct CommentStats { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BulkCommentRequest` is never constructed [INFO] [stdout] --> src/models/comments.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct BulkCommentRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BulkCommentResponse` is never constructed [INFO] [stdout] --> src/models/comments.rs:221:12 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct BulkCommentResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FailedComment` is never constructed [INFO] [stdout] --> src/models/comments.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 229 | pub struct FailedComment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_comment` is never used [INFO] [stdout] --> src/models/comments.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn validate_comment(comment: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_poster_name` is never used [INFO] [stdout] --> src/models/comments.rs:263:8 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn validate_poster_name(name: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Game` is never constructed [INFO] [stdout] --> src/models/livegames.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Game { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveUpdate` is never constructed [INFO] [stdout] --> src/models/livegames.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct LiveUpdate { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveGamesResponse` is never constructed [INFO] [stdout] --> src/models/livegames.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct LiveGamesResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LiveQuery` is never constructed [INFO] [stdout] --> src/models/livegames.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct LiveQuery { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NotificationResponse` is never constructed [INFO] [stdout] --> src/models/notification.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct NotificationResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vote_alerts`, `like_alerts`, and `comment_alerts` are never read [INFO] [stdout] --> src/models/notification.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct UpdatePreferencesRequest { [INFO] [stdout] | ------------------------ fields in this struct [INFO] [stdout] 67 | pub user_id: String, [INFO] [stdout] 68 | pub vote_alerts: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 69 | pub like_alerts: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 70 | pub comment_alerts: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UpdatePreferencesRequest` 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 `ResetOTP` is never constructed [INFO] [stdout] --> src/models/otp.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ResetOTP { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Payment` is never constructed [INFO] [stdout] --> src/models/payment.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Payment { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreatePayment` is never constructed [INFO] [stdout] --> src/models/payment.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CreatePayment { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentQuery` is never constructed [INFO] [stdout] --> src/models/payment.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct PaymentQuery { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `starter_id` is never read [INFO] [stdout] --> src/models/pledges.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct PledgeQuery { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 45 | pub starter_id: Option, // Added field [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PledgeQuery` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_timestamps` and `has_text` are never used [INFO] [stdout] --> src/models/posta.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Post { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn update_timestamps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn has_text(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_timestamps` is never used [INFO] [stdout] --> src/models/posta.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 182 | impl Comment { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn update_timestamps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateSubFixtureRequest` is never constructed [INFO] [stdout] --> src/models/sub_fixture.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct CreateSubFixtureRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateSubFixtureRequest` is never constructed [INFO] [stdout] --> src/models/sub_fixture.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub struct UpdateSubFixtureRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BulkStatsRequest` is never constructed [INFO] [stdout] --> src/models/sub_fixture.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct BulkStatsRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MpesaTransaction` is never constructed [INFO] [stdout] --> src/models/transaction.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct MpesaTransaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateMpesaTransaction` is never constructed [INFO] [stdout] --> src/models/transaction.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct CreateMpesaTransaction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MpesaTransactionQuery` is never constructed [INFO] [stdout] --> src/models/transaction.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct MpesaTransactionQuery { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallbackData` is never constructed [INFO] [stdout] --> src/models/transaction.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct CallbackData { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallbackBody` is never constructed [INFO] [stdout] --> src/models/transaction.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct CallbackBody { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StkCallback` is never constructed [INFO] [stdout] --> src/models/transaction.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct StkCallback { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallbackMetadata` is never constructed [INFO] [stdout] --> src/models/transaction.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct CallbackMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetadataItem` is never constructed [INFO] [stdout] --> src/models/transaction.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct MetadataItem { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Comrade` is never constructed [INFO] [stdout] --> src/models/comrade.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Comrade { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AddComradeRequest` is never constructed [INFO] [stdout] --> src/models/comrade.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct AddComradeRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ComradeResponse` is never constructed [INFO] [stdout] --> src/models/comrade.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct ComradeResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lineups` is never constructed [INFO] [stdout] --> src/models/line_up.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Lineups { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TeamLineup` is never constructed [INFO] [stdout] --> src/models/line_up.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TeamLineup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Coach` is never constructed [INFO] [stdout] --> src/models/line_up.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct Coach { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameLineups` is never constructed [INFO] [stdout] --> src/models/line_up.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct GameLineups { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LineupsUpdate` is never constructed [INFO] [stdout] --> src/models/line_up.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct LineupsUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawLineupsData` is never constructed [INFO] [stdout] --> src/models/line_up.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | pub struct RawLineupsData { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawTeamLineup` is never constructed [INFO] [stdout] --> src/models/line_up.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct RawTeamLineup { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawPlayer` is never constructed [INFO] [stdout] --> src/models/line_up.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct RawPlayer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RawCoach` is never constructed [INFO] [stdout] --> src/models/line_up.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct RawCoach { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_home_starting_xi_names`, `get_away_starting_xi_names`, `get_home_captain`, `get_away_captain`, and `get_player_by_number` are never used [INFO] [stdout] --> src/models/line_up.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl LineupsDocument { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 123 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn get_home_starting_xi_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn get_away_starting_xi_names(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn get_home_captain(&self) -> Option<&Player> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn get_away_captain(&self) -> Option<&Player> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn get_player_by_number(&self, team: &str, number: i32) -> Option<&Player> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_goalkeeper`, `is_defender`, `is_midfielder`, and `is_forward` are never used [INFO] [stdout] --> src/models/line_up.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 189 | pub fn is_goalkeeper(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn is_defender(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn is_midfielder(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn is_forward(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LineupsResponse` is never constructed [INFO] [stdout] --> src/models/line_up.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct LineupsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimplifiedLineups` is never constructed [INFO] [stdout] --> src/models/line_up.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct SimplifiedLineups { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SimplifiedPlayer` is never constructed [INFO] [stdout] --> src/models/line_up.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 225 | pub struct SimplifiedPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timestamp` is never read [INFO] [stdout] --> src/models/statistics.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct StatisticsRequest { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 83 | pub timestamp: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatisticsRequest` 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 `TypingIndicator` is never constructed [INFO] [stdout] --> src/models/vote.rs:277:12 [INFO] [stdout] | [INFO] [stdout] 277 | pub struct TypingIndicator { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReadReceipt` is never constructed [INFO] [stdout] --> src/models/vote.rs:287:12 [INFO] [stdout] | [INFO] [stdout] 287 | pub struct ReadReceipt { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnreadCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 298 | pub struct UnreadCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommentWithUser` is never constructed [INFO] [stdout] --> src/models/vote.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 375 | pub struct CommentWithUser { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserVoteStatus` is never constructed [INFO] [stdout] --> src/models/vote.rs:417:12 [INFO] [stdout] | [INFO] [stdout] 417 | pub struct UserVoteStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureStats` is never constructed [INFO] [stdout] --> src/models/vote.rs:435:12 [INFO] [stdout] | [INFO] [stdout] 435 | pub struct FixtureStats { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:494:12 [INFO] [stdout] | [INFO] [stdout] 494 | pub struct StatsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `limit` and `skip` are never read [INFO] [stdout] --> src/models/vote.rs:508:9 [INFO] [stdout] | [INFO] [stdout] 502 | pub struct VoteQuery { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 508 | pub limit: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 509 | pub skip: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VoteQuery` 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 `CommentQuery` is never constructed [INFO] [stdout] --> src/models/vote.rs:513:12 [INFO] [stdout] | [INFO] [stdout] 513 | pub struct CommentQuery { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TotalCounts` is never constructed [INFO] [stdout] --> src/models/vote.rs:563:12 [INFO] [stdout] | [INFO] [stdout] 563 | pub struct TotalCounts { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TotalCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:584:12 [INFO] [stdout] | [INFO] [stdout] 584 | pub struct TotalCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureCounts` is never constructed [INFO] [stdout] --> src/models/vote.rs:591:12 [INFO] [stdout] | [INFO] [stdout] 591 | pub struct FixtureCounts { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:633:12 [INFO] [stdout] | [INFO] [stdout] 633 | pub struct FixtureCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFixtureCountsRequest` is never constructed [INFO] [stdout] --> src/models/vote.rs:640:12 [INFO] [stdout] | [INFO] [stdout] 640 | pub struct BatchFixtureCountsRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FixtureCountItem` is never constructed [INFO] [stdout] --> src/models/vote.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 649 | pub struct FixtureCountItem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchFixtureCountsResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:682:12 [INFO] [stdout] | [INFO] [stdout] 682 | pub struct BatchFixtureCountsResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_create_vote` is never used [INFO] [stdout] --> src/models/vote.rs:789:12 [INFO] [stdout] | [INFO] [stdout] 788 | impl Vote { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 789 | pub fn from_create_vote(create_vote: CreateVote) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_create_like` is never used [INFO] [stdout] --> src/models/vote.rs:806:12 [INFO] [stdout] | [INFO] [stdout] 805 | impl Like { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 806 | pub fn from_create_like(create_like: CreateLike) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_create_comment`, `is_seen_by`, and `mark_seen` are never used [INFO] [stdout] --> src/models/vote.rs:829:12 [INFO] [stdout] | [INFO] [stdout] 828 | impl Comment { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 829 | pub fn from_create_comment(create_comment: CreateComment) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 879 | pub fn is_seen_by(&self, user_id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 884 | pub fn mark_seen(&mut self, user_id: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bson_datetime_to_iso_string` is never used [INFO] [stdout] --> src/models/vote.rs:896:8 [INFO] [stdout] | [INFO] [stdout] 896 | pub fn bson_datetime_to_iso_string(dt: &BsonDateTime) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `option_bson_datetime_to_iso_string` is never used [INFO] [stdout] --> src/models/vote.rs:905:8 [INFO] [stdout] | [INFO] [stdout] 905 | pub fn option_bson_datetime_to_iso_string(dt: &Option) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:914:12 [INFO] [stdout] | [INFO] [stdout] 914 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:922:12 [INFO] [stdout] | [INFO] [stdout] 922 | pub struct PaginatedResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/models/vote.rs:930:12 [INFO] [stdout] | [INFO] [stdout] 930 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/vote.rs:938:12 [INFO] [stdout] | [INFO] [stdout] 937 | impl ErrorResponse { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 938 | pub fn new(error: &str, message: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vote_stats_routes` is never used [INFO] [stdout] --> src/routes/vote_routes.rs:156:8 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn vote_stats_routes() -> Router { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vote_admin_routes` is never used [INFO] [stdout] --> src/routes/vote_routes.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn vote_admin_routes() -> Router { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expires_in` is never read [INFO] [stdout] --> src/services/mpesa_service.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct AuthResponse { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 15 | pub access_token: String, [INFO] [stdout] 16 | pub expires_in: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `check_connectivity` is never used [INFO] [stdout] --> src/services/mpesa_service.rs:419:18 [INFO] [stdout] | [INFO] [stdout] 103 | impl MpesaService { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 419 | pub async fn check_connectivity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectivityStatus` is never constructed [INFO] [stdout] --> src/services/mpesa_service.rs:453:12 [INFO] [stdout] | [INFO] [stdout] 453 | pub struct ConnectivityStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Result` should have a snake case name [INFO] [stdout] --> src/handlers/b2c_handlers.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub Result: B2CResult, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Body` should have a snake case name [INFO] [stdout] --> src/handlers/mpesa_handlers.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub Body: CallbackBody, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `toUserId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub toUserId: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `to_user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fixtureId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | pub fixtureId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `fixture_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fromUserId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub fromUserId: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `from_user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `messageId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | pub messageId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `message_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `replyTo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | pub replyTo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `reply_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `imageUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub imageUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `image_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `videoUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | pub videoUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `video_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isImage` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | pub isImage: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_image` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isVideo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub isVideo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `roomId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | pub roomId: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `room_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fromUserId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | pub fromUserId: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `from_user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `messageId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | pub messageId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `message_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `replyTo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub replyTo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `reply_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `imageUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | pub imageUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `image_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `videoUrl` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | pub videoUrl: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `video_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isImage` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | pub isImage: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_image` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isVideo` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:170:9 [INFO] [stdout] | [INFO] [stdout] 170 | pub isVideo: Option, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `is_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fixtureId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | pub fixtureId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `fixture_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `fixtureId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | pub fixtureId: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `fixture_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `userId` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | pub userId: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `totalLikes` should have a snake case name [INFO] [stdout] --> src/handlers/ws_handler.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | pub totalLikes: i64, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `total_likes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Body` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub Body: CallbackBody, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `body` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `stkCallback` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | pub stkCallback: StkCallback, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `stk_callback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Item` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub Item: Vec, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Name` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | pub Name: String, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Value` should have a snake case name [INFO] [stdout] --> src/models/transaction.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | pub Value: serde_json::Value, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `value` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 35s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.24.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795", kill_on_drop: false }` [INFO] [stdout] 016ca0459f6c7510380b7a4c5f548280ca309857f1c4d72b9b3e94cf1ea7a795