[INFO] cloning repository https://github.com/mahamud751/rust-social
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mahamud751/rust-social" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahamud751%2Frust-social", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahamud751%2Frust-social'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ffd01ef1f521067577da12736c013c71eff375ef
[INFO] checking mahamud751/rust-social/ffd01ef1f521067577da12736c013c71eff375ef against master#55e86c996809902e8bbad512cfb4d2c18be446d9 for pr-153027
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahamud751%2Frust-social" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mahamud751/rust-social
[INFO] finished tweaking git repo https://github.com/mahamud751/rust-social
[INFO] tweaked toml for git repo https://github.com/mahamud751/rust-social written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mahamud751/rust-social on toolchain 55e86c996809902e8bbad512cfb4d2c18be446d9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+55e86c996809902e8bbad512cfb4d2c18be446d9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mahamud751/rust-social 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" "+55e86c996809902e8bbad512cfb4d2c18be446d9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded envy v0.4.2
[INFO] [stderr]   Downloaded sanitize-filename v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+55e86c996809902e8bbad512cfb4d2c18be446d9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c0979e465cc5d3ebfc407847322977b950a2b557ec79eb63c5ca7dfa7dbd2577
[INFO] running `Command { std: "docker" "start" "-a" "c0979e465cc5d3ebfc407847322977b950a2b557ec79eb63c5ca7dfa7dbd2577", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c0979e465cc5d3ebfc407847322977b950a2b557ec79eb63c5ca7dfa7dbd2577", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0979e465cc5d3ebfc407847322977b950a2b557ec79eb63c5ca7dfa7dbd2577", kill_on_drop: false }`
[INFO] [stdout] c0979e465cc5d3ebfc407847322977b950a2b557ec79eb63c5ca7dfa7dbd2577
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+55e86c996809902e8bbad512cfb4d2c18be446d9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9056f01d348a4aae1f85fd3743a17c1345a97b3240a84e6b6637d4b0cbd78126
[INFO] running `Command { std: "docker" "start" "-a" "9056f01d348a4aae1f85fd3743a17c1345a97b3240a84e6b6637d4b0cbd78126", kill_on_drop: false }`
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking tokio v1.47.0
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]     Checking brotli v8.0.1
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking actix-router v0.5.3
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling whoami v1.6.0
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling v_htmlescape v0.15.8
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling actix_derive v0.6.2
[INFO] [stderr]    Compiling parse-size v1.1.0
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]    Compiling actix-multipart-derive v0.6.1
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking actix v0.13.5
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]     Checking bcrypt v0.15.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking sanitize-filename v0.4.0
[INFO] [stderr]     Checking envy v0.4.2
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling sqlx-core v0.7.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking actix-http v3.11.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]    Compiling sqlx-postgres v0.7.4
[INFO] [stderr]     Checking redis v0.25.4
[INFO] [stderr]     Checking actix-web v4.11.0
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking actix-web-actors v4.3.1+deprecated
[INFO] [stderr]     Checking actix-files v0.6.6
[INFO] [stderr]     Checking actix-multipart v0.6.2
[INFO] [stderr]     Checking actix-cors v0.7.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking social-media-app v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `actix_multipart::form::text`
[INFO] [stdout]  --> src/auth.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 |    use actix_multipart::form::text;
[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 imports: `dev::ServiceRequest` and `dev::ServiceResponse`
[INFO] [stdout]  --> src/auth.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::{dev::ServiceRequest, dev::ServiceResponse, Error, HttpResponse, web};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Service` and `Transform`
[INFO] [stdout]  --> src/auth.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |    use actix_web::dev::{Transform, Service};
[INFO] [stdout]   |                         ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ready` and `ok`
[INFO] [stdout]  --> src/auth.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |    use futures::future::{ok, Ready};
[INFO] [stdout]   |                          ^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DecodingKey`, `Validation`, and `decode`
[INFO] [stdout]  --> src/auth.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |    use jsonwebtoken::{decode, DecodingKey, Validation};
[INFO] [stdout]   |                       ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/auth.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |    use std::env;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/auth.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |    use std::future::Future;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/auth.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |    use std::pin::Pin;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StringArray`
[INFO] [stdout]   --> src/auth.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 |    use crate::models::{User, StringArray}; // Added StringArray
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/message.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StringArray`
[INFO] [stdout]  --> src/post.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::models::{Post, User, UUIDArray,StringArray};
[INFO] [stdout]   |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StringArray`
[INFO] [stdout]  --> src/user.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::models::{User, StringArray};
[INFO] [stdout]   |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/upload.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_multipart::form::text`
[INFO] [stdout]  --> src/auth.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 |    use actix_multipart::form::text;
[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 imports: `dev::ServiceRequest` and `dev::ServiceResponse`
[INFO] [stdout]  --> src/auth.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::{dev::ServiceRequest, dev::ServiceResponse, Error, HttpResponse, web};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Service` and `Transform`
[INFO] [stdout]  --> src/auth.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 |    use actix_web::dev::{Transform, Service};
[INFO] [stdout]   |                         ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ready` and `ok`
[INFO] [stdout]  --> src/auth.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |    use futures::future::{ok, Ready};
[INFO] [stdout]   |                          ^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DecodingKey`, `Validation`, and `decode`
[INFO] [stdout]  --> src/auth.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |    use jsonwebtoken::{decode, DecodingKey, Validation};
[INFO] [stdout]   |                       ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/auth.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |    use std::env;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/auth.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |    use std::future::Future;
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/auth.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 |    use std::pin::Pin;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StringArray`
[INFO] [stdout]   --> src/auth.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 |    use crate::models::{User, StringArray}; // Added StringArray
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/message.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StringArray`
[INFO] [stdout]  --> src/post.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::models::{Post, User, UUIDArray,StringArray};
[INFO] [stdout]   |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StringArray`
[INFO] [stdout]  --> src/user.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::models::{User, StringArray};
[INFO] [stdout]   |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/upload.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/chat.rs:71:39
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/chat.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / async fn create_chat(
[INFO] [stdout] 20 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 21 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 22 | |     req: web::Json<CreateChatRequest>,
[INFO] [stdout] 23 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 24 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/chat.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     redis_conn.set(format!("chat:{}", chat.id), &chat_json).await
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     redis_conn.set::<_, _, ()>(format!("chat:{}", chat.id), &chat_json).await
[INFO] [stdout] 77 |         .map_err(|e| actix_web::error::ErrorInternalServerError(e.to_string()))?;
[INFO] [stdout] 78 |     
[INFO] [stdout] 79 ~     redis_conn.publish::<_, _, ()>(format!("chat:{}", chat.id), &chat_json).await
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/chat.rs:71:39
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/chat.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / async fn create_chat(
[INFO] [stdout] 20 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 21 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 22 | |     req: web::Json<CreateChatRequest>,
[INFO] [stdout] 23 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 24 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/chat.rs:76:16
[INFO] [stdout]    |
[INFO] [stdout] 76 |     redis_conn.set(format!("chat:{}", chat.id), &chat_json).await
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]    = note: `#[deny(dependency_on_unit_never_type_fallback)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 76 ~     redis_conn.set::<_, _, ()>(format!("chat:{}", chat.id), &chat_json).await
[INFO] [stdout] 77 |         .map_err(|e| actix_web::error::ErrorInternalServerError(e.to_string()))?;
[INFO] [stdout] 78 |     
[INFO] [stdout] 79 ~     redis_conn.publish::<_, _, ()>(format!("chat:{}", chat.id), &chat_json).await
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/message.rs:65:39
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/message.rs:65:39
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/post.rs:60:39
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/post.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / async fn create_post(
[INFO] [stdout] 29 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 30 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 31 | |     req: web::Json<CreatePostRequest>,
[INFO] [stdout] 32 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 33 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/post.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     redis_conn.set(format!("post:{}", post.id), post_json).await
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 63 |     redis_conn.set::<_, _, ()>(format!("post:{}", post.id), post_json).await
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/post.rs:78:39
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/post.rs:60:39
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/post.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / async fn create_post(
[INFO] [stdout] 29 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 30 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 31 | |     req: web::Json<CreatePostRequest>,
[INFO] [stdout] 32 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 33 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/post.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     redis_conn.set(format!("post:{}", post.id), post_json).await
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 63 |     redis_conn.set::<_, _, ()>(format!("post:{}", post.id), post_json).await
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/post.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | / async fn get_post(
[INFO] [stdout] 71 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 72 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 73 | |     path: web::Path<String>,
[INFO] [stdout] 74 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/post.rs:93:16
[INFO] [stdout]    |
[INFO] [stdout] 93 |     redis_conn.set(format!("post:{}", post_id), post_json).await
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 93 |     redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/post.rs:78:39
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/post.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | / async fn get_post(
[INFO] [stdout] 71 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 72 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 73 | |     path: web::Path<String>,
[INFO] [stdout] 74 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/post.rs:93:16
[INFO] [stdout]    |
[INFO] [stdout] 93 |     redis_conn.set(format!("post:{}", post_id), post_json).await
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 93 |     redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout]    |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/post.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / async fn update_post(
[INFO] [stdout] 101 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 102 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 103 | |     path: web::Path<String>,
[INFO] [stdout] 104 | |     req: web::Json<UpdatePostRequest>,
[INFO] [stdout] 105 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 106 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/post.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |     redis_conn.set(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 134 |     redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:131:39
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/post.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / async fn update_post(
[INFO] [stdout] 101 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 102 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 103 | |     path: web::Path<String>,
[INFO] [stdout] 104 | |     req: web::Json<UpdatePostRequest>,
[INFO] [stdout] 105 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 106 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/post.rs:134:16
[INFO] [stdout]     |
[INFO] [stdout] 134 |     redis_conn.set(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 134 |     redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/post.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | / async fn delete_post(
[INFO] [stdout] 142 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 143 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 144 | |     path: web::Path<String>,
[INFO] [stdout] 145 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 146 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/post.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |     redis_conn.del(format!("post:{}", post_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 169 |     redis_conn.del::<_, ()>(format!("post:{}", post_id)).await
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:206:43
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/post.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | / async fn delete_post(
[INFO] [stdout] 142 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 143 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 144 | |     path: web::Path<String>,
[INFO] [stdout] 145 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 146 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/post.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |     redis_conn.del(format!("post:{}", post_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 169 |     redis_conn.del::<_, ()>(format!("post:{}", post_id)).await
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:224:43
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/post.rs:176:1
[INFO] [stdout]     |
[INFO] [stdout] 176 | / async fn like_post(
[INFO] [stdout] 177 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 178 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 179 | |     path: web::Path<String>,
[INFO] [stdout] 180 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 181 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/post.rs:209:20
[INFO] [stdout]     |
[INFO] [stdout] 209 |         redis_conn.set(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 209 ~         redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout] 210 |             .map_err(|e| actix_web::error::ErrorInternalServerError(e.to_string()))?;
[INFO] [stdout] ...
[INFO] [stdout] 226 |         let post_json = serde_json::to_string(&updated_post)?;
[INFO] [stdout] 227 ~         redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:206:43
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/post.rs:224:43
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/post.rs:176:1
[INFO] [stdout]     |
[INFO] [stdout] 176 | / async fn like_post(
[INFO] [stdout] 177 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 178 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 179 | |     path: web::Path<String>,
[INFO] [stdout] 180 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 181 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/post.rs:209:20
[INFO] [stdout]     |
[INFO] [stdout] 209 |         redis_conn.set(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 209 ~         redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout] 210 |             .map_err(|e| actix_web::error::ErrorInternalServerError(e.to_string()))?;
[INFO] [stdout] ...
[INFO] [stdout] 226 |         let post_json = serde_json::to_string(&updated_post)?;
[INFO] [stdout] 227 ~         redis_conn.set::<_, _, ()>(format!("post:{}", post_id), post_json).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/user.rs:52:39
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/user.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / async fn get_user(
[INFO] [stdout] 45 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 46 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 47 | |     path: web::Path<String>,
[INFO] [stdout] 48 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/user.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |     redis_conn.set_ex(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 67 |     redis_conn.set_ex::<_, _, ()>(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]    |                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:149:39
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / async fn update_user(
[INFO] [stdout]  75 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout]  76 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout]  77 | |     path: web::Path<String>,
[INFO] [stdout] ...   |
[INFO] [stdout]  80 | |     cfg: web::Data<Config>,
[INFO] [stdout]  81 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:152:16
[INFO] [stdout]     |
[INFO] [stdout] 152 |     redis_conn.set_ex(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 152 |     redis_conn.set_ex::<_, _, ()>(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]     |                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]   --> src/user.rs:52:39
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/user.rs:44:1
[INFO] [stdout]    |
[INFO] [stdout] 44 | / async fn get_user(
[INFO] [stdout] 45 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 46 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 47 | |     path: web::Path<String>,
[INFO] [stdout] 48 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]    | |________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/user.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |     redis_conn.set_ex(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 67 |     redis_conn.set_ex::<_, _, ()>(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]    |                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | / async fn delete_user(
[INFO] [stdout] 160 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 161 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 162 | |     path: web::Path<String>,
[INFO] [stdout] 163 | |     req: web::Json<UpdateUserRequest>,
[INFO] [stdout] 164 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 165 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:188:16
[INFO] [stdout]     |
[INFO] [stdout] 188 |     redis_conn.del(format!("user:{}", user_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 188 |     redis_conn.del::<_, ()>(format!("user:{}", user_id)).await
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:149:39
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / async fn update_user(
[INFO] [stdout]  75 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout]  76 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout]  77 | |     path: web::Path<String>,
[INFO] [stdout] ...   |
[INFO] [stdout]  80 | |     cfg: web::Data<Config>,
[INFO] [stdout]  81 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:152:16
[INFO] [stdout]     |
[INFO] [stdout] 152 |     redis_conn.set_ex(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 152 |     redis_conn.set_ex::<_, _, ()>(format!("user:{}", user_id), user_json, 3600).await
[INFO] [stdout]     |                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:273:39
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:195:1
[INFO] [stdout]     |
[INFO] [stdout] 195 | / async fn follow_user(
[INFO] [stdout] 196 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 197 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 198 | |     path: web::Path<String>,
[INFO] [stdout] 199 | |     claims: web::ReqData<Claims>,  // Changed from Option<web::ReqData<Claims>>
[INFO] [stdout] 200 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:279:16
[INFO] [stdout]     |
[INFO] [stdout] 279 |     redis_conn.del(format!("user:{}", follow_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 279 ~     redis_conn.del::<_, ()>(format!("user:{}", follow_id)).await
[INFO] [stdout] 280 |         .map_err(|e| {
[INFO] [stdout] ...
[INFO] [stdout] 284 |     
[INFO] [stdout] 285 ~     redis_conn.del::<_, ()>(format!("user:{}", current_user_id)).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | / async fn delete_user(
[INFO] [stdout] 160 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 161 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 162 | |     path: web::Path<String>,
[INFO] [stdout] 163 | |     req: web::Json<UpdateUserRequest>,
[INFO] [stdout] 164 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 165 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:188:16
[INFO] [stdout]     |
[INFO] [stdout] 188 |     redis_conn.del(format!("user:{}", user_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 188 |     redis_conn.del::<_, ()>(format!("user:{}", user_id)).await
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:348:39
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | / async fn unfollow_user(
[INFO] [stdout] 300 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 301 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 302 | |     path: web::Path<String>,
[INFO] [stdout] 303 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 304 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:350:16
[INFO] [stdout]     |
[INFO] [stdout] 350 |     redis_conn.del(format!("user:{}", unfollow_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 350 ~     redis_conn.del::<_, ()>(format!("user:{}", unfollow_id)).await
[INFO] [stdout] 351 |         .map_err(|e| actix_web::error::ErrorInternalServerError(e.to_string()))?;
[INFO] [stdout] 352 ~     redis_conn.del::<_, ()>(format!("user:{}", current_user_id)).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:273:39
[INFO] [stdout]     |
[INFO] [stdout] 273 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:195:1
[INFO] [stdout]     |
[INFO] [stdout] 195 | / async fn follow_user(
[INFO] [stdout] 196 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 197 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 198 | |     path: web::Path<String>,
[INFO] [stdout] 199 | |     claims: web::ReqData<Claims>,  // Changed from Option<web::ReqData<Claims>>
[INFO] [stdout] 200 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:279:16
[INFO] [stdout]     |
[INFO] [stdout] 279 |     redis_conn.del(format!("user:{}", follow_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 279 ~     redis_conn.del::<_, ()>(format!("user:{}", follow_id)).await
[INFO] [stdout] 280 |         .map_err(|e| {
[INFO] [stdout] ...
[INFO] [stdout] 284 |     
[INFO] [stdout] 285 ~     redis_conn.del::<_, ()>(format!("user:{}", current_user_id)).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/user.rs:348:39
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let mut redis_conn = redis_client.get_async_connection().await
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/user.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | / async fn unfollow_user(
[INFO] [stdout] 300 | |     pool: web::Data<Pool<Postgres>>,
[INFO] [stdout] 301 | |     redis_client: web::Data<redis::Client>,
[INFO] [stdout] 302 | |     path: web::Path<String>,
[INFO] [stdout] 303 | |     claims: web::ReqData<Claims>,
[INFO] [stdout] 304 | | ) -> Result<HttpResponse, Error> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/user.rs:350:16
[INFO] [stdout]     |
[INFO] [stdout] 350 |     redis_conn.del(format!("user:{}", unfollow_id)).await
[INFO] [stdout]     |                ^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 350 ~     redis_conn.del::<_, ()>(format!("user:{}", unfollow_id)).await
[INFO] [stdout] 351 |         .map_err(|e| actix_web::error::ErrorInternalServerError(e.to_string()))?;
[INFO] [stdout] 352 ~     redis_conn.del::<_, ()>(format!("user:{}", current_user_id)).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/message.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut redis_conn = match redis_client.get_async_connection().await {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/message.rs:197:64
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   if let Ok(mut conn) = redis_client.get_async_connection().await {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/message.rs:138:53
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut redis_conn = match redis_client.get_async_connection().await {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `redis::Client::get_async_connection`: aio::Connection is deprecated. Use client::get_multiplexed_async_connection instead.
[INFO] [stdout]    --> src/message.rs:197:64
[INFO] [stdout]     |
[INFO] [stdout] 197 | ...                   if let Ok(mut conn) = redis_client.get_async_connection().await {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/chat.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let sender = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]   --> src/chat.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let receiver = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chat`
[INFO] [stdout]   --> src/message.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let chat = sqlx::query_as::<_, Chat>("SELECT * FROM chats WHERE id = $1")
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_chat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/message.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let sender = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/message.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut redis_conn = match redis_client.get_async_connection().await {
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]   --> src/post.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/chat.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let sender = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]   --> src/chat.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let receiver = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chat`
[INFO] [stdout]   --> src/message.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let chat = sqlx::query_as::<_, Chat>("SELECT * FROM chats WHERE id = $1")
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_chat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/message.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let sender = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/user.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `follow_user`
[INFO] [stdout]    --> src/user.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let follow_user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_follow_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/message.rs:138:17
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut redis_conn = match redis_client.get_async_connection().await {
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unfollow_user`
[INFO] [stdout]    --> src/user.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let unfollow_user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unfollow_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_user`
[INFO] [stdout]    --> src/user.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |     let current_user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `claims`
[INFO] [stdout]   --> src/upload.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     claims: web::ReqData<Claims>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_claims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]   --> src/post.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StringArray` is never constructed
[INFO] [stdout]  --> src/models.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct StringArray(pub Vec<String>);
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Product` is never constructed
[INFO] [stdout]   --> src/models.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Product {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/user.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `follow_user`
[INFO] [stdout]    --> src/user.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let follow_user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_follow_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `unfollow_user`
[INFO] [stdout]    --> src/user.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let unfollow_user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_unfollow_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_user`
[INFO] [stdout]    --> src/user.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |     let current_user = sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `claims`
[INFO] [stdout]   --> src/upload.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     claims: web::ReqData<Claims>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_claims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `social-media-app` (bin "social-media-app") due to 22 previous errors; 41 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: struct `StringArray` is never constructed
[INFO] [stdout]  --> src/models.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct StringArray(pub Vec<String>);
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Product` is never constructed
[INFO] [stdout]   --> src/models.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct Product {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `social-media-app` (bin "social-media-app" test) due to 22 previous errors; 41 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9056f01d348a4aae1f85fd3743a17c1345a97b3240a84e6b6637d4b0cbd78126", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9056f01d348a4aae1f85fd3743a17c1345a97b3240a84e6b6637d4b0cbd78126", kill_on_drop: false }`
[INFO] [stdout] 9056f01d348a4aae1f85fd3743a17c1345a97b3240a84e6b6637d4b0cbd78126
