[INFO] cloning repository https://github.com/StoryKing123/infinite-clipboard-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/StoryKing123/infinite-clipboard-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStoryKing123%2Finfinite-clipboard-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStoryKing123%2Finfinite-clipboard-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1a42f278e5fc1460143d7c317c4c5e0bbdd8bb7a
[INFO] checking StoryKing123/infinite-clipboard-backend/1a42f278e5fc1460143d7c317c4c5e0bbdd8bb7a against master#b52edc25bfbaa955b4b83c10f998e5224c3478b2 for pr-156776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStoryKing123%2Finfinite-clipboard-backend" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/StoryKing123/infinite-clipboard-backend
[INFO] finished tweaking git repo https://github.com/StoryKing123/infinite-clipboard-backend
[INFO] tweaked toml for git repo https://github.com/StoryKing123/infinite-clipboard-backend written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/StoryKing123/infinite-clipboard-backend on toolchain b52edc25bfbaa955b4b83c10f998e5224c3478b2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b52edc25bfbaa955b4b83c10f998e5224c3478b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/StoryKing123/infinite-clipboard-backend already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b52edc25bfbaa955b4b83c10f998e5224c3478b2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded security-framework-sys v2.13.0
[INFO] [stderr]   Downloaded cc v1.2.6
[INFO] [stderr]   Downloaded rand_core v0.9.2
[INFO] [stderr]   Downloaded syn v2.0.94
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.21
[INFO] [stderr]   Downloaded zerocopy v0.8.21
[INFO] [stderr]   Downloaded serde_html_form v0.2.7
[INFO] [stderr]   Downloaded mediatype v0.19.18
[INFO] [stderr]   Downloaded actix-web-lab-derive v0.23.0
[INFO] [stderr]   Downloaded actix-web-lab v0.23.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+b52edc25bfbaa955b4b83c10f998e5224c3478b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d4c295ddf250da7c0e9c35fe6e3cecac428877ea8ac242e16634efaf46e0f0fc
[INFO] running `Command { std: "docker" "start" "-a" "d4c295ddf250da7c0e9c35fe6e3cecac428877ea8ac242e16634efaf46e0f0fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d4c295ddf250da7c0e9c35fe6e3cecac428877ea8ac242e16634efaf46e0f0fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4c295ddf250da7c0e9c35fe6e3cecac428877ea8ac242e16634efaf46e0f0fc", kill_on_drop: false }`
[INFO] [stdout] d4c295ddf250da7c0e9c35fe6e3cecac428877ea8ac242e16634efaf46e0f0fc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+b52edc25bfbaa955b4b83c10f998e5224c3478b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c0c02c8c4a5eb9512664c57f1c30b2467d684619e62fe11648bd9b1a5dd79df
[INFO] running `Command { std: "docker" "start" "-a" "8c0c02c8c4a5eb9512664c57f1c30b2467d684619e62fe11648bd9b1a5dd79df", kill_on_drop: false }`
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking local-waker v0.1.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling syn v2.0.94
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking miniz_oxide v0.8.2
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking brotli-decompressor v4.0.1
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling zerocopy v0.8.21
[INFO] [stderr]    Compiling cc v1.2.6
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking rustls-pki-types v1.10.1
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking mediatype v0.19.18
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking brotli v6.0.0
[INFO] [stderr]     Checking env_logger v0.11.6
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking rand_core v0.9.2
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]    Compiling actix-web-lab-derive v0.23.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking tokio v1.42.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking simple_asn1 v0.6.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking actix-server v2.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking h2 v0.4.7
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking serde_json v1.0.134
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_html_form v0.2.7
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking actix-http v3.9.0
[INFO] [stderr]     Checking hyper v1.5.2
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking actix-web v4.9.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.12
[INFO] [stderr]     Checking actix-web-lab v0.23.0
[INFO] [stderr]     Checking actix-cors v0.7.0
[INFO] [stderr]     Checking app v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Payload`
[INFO] [stdout]  --> src/services/auth.rs:3:75
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::{error::{Error, ErrorUnauthorized}, get, post, web::{self, Payload}, FromRequest, HttpRequest, HttpResponse, Responder};
[INFO] [stdout]   |                                                                           ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::AppState`
[INFO] [stdout]   --> src/services/auth.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::AppState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io` and `sync::Arc`
[INFO] [stdout]  --> src/services/sse.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{io, sync::Arc};
[INFO] [stdout]   |           ^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cors::Cors`
[INFO] [stdout]  --> src/services/sse.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_cors::Cors;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `App`, `HttpRequest`, `HttpServer`, `http`, and `middleware::Logger`
[INFO] [stdout]  --> src/services/sse.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     get, http, middleware::Logger, post, web, App, Either, HttpRequest, HttpResponse, HttpServer,
[INFO] [stdout]   |          ^^^^  ^^^^^^^^^^^^^^^^^^             ^^^          ^^^^^^^^^^^                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `extract::Path`
[INFO] [stdout]  --> src/services/sse.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use actix_web_lab::{extract::Path, sse::Sse, util::InfallibleStream};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncodingKey`, `Header`, and `encode`
[INFO] [stdout]  --> src/services/sse.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use jsonwebtoken::{encode, EncodingKey, Header};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client` and `Url`
[INFO] [stdout]   --> src/services/sse.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use reqwest::{Client, Url};
[INFO] [stdout]    |               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]   --> src/services/sse.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::time;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/services/sse.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |     path: web::Path<( String)>,
[INFO] [stdout]    |                     ^^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -     path: web::Path<( String)>,
[INFO] [stdout] 81 +     path: web::Path<String >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/services/sse.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let ( client_id) = path.into_inner();
[INFO] [stdout]    |         ^^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 88 -     let ( client_id) = path.into_inner();
[INFO] [stdout] 88 +     let client_id  = path.into_inner();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/services/sse.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |     path: web::Path<( String)>,
[INFO] [stdout]     |                     ^^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -     path: web::Path<( String)>,
[INFO] [stdout] 108 +     path: web::Path<String >,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/services/sse.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let ( client_id) = path.into_inner();
[INFO] [stdout]     |         ^^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -     let ( client_id) = path.into_inner();
[INFO] [stdout] 113 +     let client_id  = path.into_inner();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HttpRequest`, `HttpResponse`, `http`, `middleware::Logger`, `post`, and `service`
[INFO] [stdout]   --> src/main.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     get, http,
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 11 |     middleware::Logger,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     post,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     web::{self, service},
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 14 |     App, HttpRequest, HttpResponse, HttpServer, Responder,
[INFO] [stdout]    |          ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web_lab::extract::Path`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use actix_web_lab::extract::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncodingKey`, `Header`, and `encode`
[INFO] [stdout]   --> src/main.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use jsonwebtoken::{encode, EncodingKey, Header};
[INFO] [stdout]    |                    ^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client` and `Url`
[INFO] [stdout]   --> src/main.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | use reqwest::{Client, Url};
[INFO] [stdout]    |               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Payload`
[INFO] [stdout]  --> src/services/auth.rs:3:75
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::{error::{Error, ErrorUnauthorized}, get, post, web::{self, Payload}, FromRequest, HttpRequest, HttpResponse, Responder};
[INFO] [stdout]   |                                                                           ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::AppState`
[INFO] [stdout]   --> src/services/auth.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::AppState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io` and `sync::Arc`
[INFO] [stdout]  --> src/services/sse.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{io, sync::Arc};
[INFO] [stdout]   |           ^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cors::Cors`
[INFO] [stdout]  --> src/services/sse.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_cors::Cors;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `App`, `HttpRequest`, `HttpServer`, `http`, and `middleware::Logger`
[INFO] [stdout]  --> src/services/sse.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     get, http, middleware::Logger, post, web, App, Either, HttpRequest, HttpResponse, HttpServer,
[INFO] [stdout]   |          ^^^^  ^^^^^^^^^^^^^^^^^^             ^^^          ^^^^^^^^^^^                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `extract::Path`
[INFO] [stdout]  --> src/services/sse.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use actix_web_lab::{extract::Path, sse::Sse, util::InfallibleStream};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncodingKey`, `Header`, and `encode`
[INFO] [stdout]  --> src/services/sse.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use jsonwebtoken::{encode, EncodingKey, Header};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client` and `Url`
[INFO] [stdout]   --> src/services/sse.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | use reqwest::{Client, Url};
[INFO] [stdout]    |               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]   --> src/services/sse.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::time;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/services/sse.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |     path: web::Path<( String)>,
[INFO] [stdout]    |                     ^^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -     path: web::Path<( String)>,
[INFO] [stdout] 81 +     path: web::Path<String >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/services/sse.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let ( client_id) = path.into_inner();
[INFO] [stdout]    |         ^^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 88 -     let ( client_id) = path.into_inner();
[INFO] [stdout] 88 +     let client_id  = path.into_inner();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/services/sse.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |     path: web::Path<( String)>,
[INFO] [stdout]     |                     ^^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -     path: web::Path<( String)>,
[INFO] [stdout] 108 +     path: web::Path<String >,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/services/sse.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let ( client_id) = path.into_inner();
[INFO] [stdout]     |         ^^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 -     let ( client_id) = path.into_inner();
[INFO] [stdout] 113 +     let client_id  = path.into_inner();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     io,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HttpRequest`, `HttpResponse`, `http`, `middleware::Logger`, `post`, and `service`
[INFO] [stdout]   --> src/main.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     get, http,
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 11 |     middleware::Logger,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     post,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     web::{self, service},
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 14 |     App, HttpRequest, HttpResponse, HttpServer, Responder,
[INFO] [stdout]    |          ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web_lab::extract::Path`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use actix_web_lab::extract::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncodingKey`, `Header`, and `encode`
[INFO] [stdout]   --> src/main.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use jsonwebtoken::{encode, EncodingKey, Header};
[INFO] [stdout]    |                    ^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client` and `Url`
[INFO] [stdout]   --> src/main.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | use reqwest::{Client, Url};
[INFO] [stdout]    |               ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/services/auth.rs:349:49
[INFO] [stdout]     |
[INFO] [stdout] 349 | ...                   let mut response = token_response;
[INFO] [stdout]     |                           ----^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/services/auth.rs:349:49
[INFO] [stdout]     |
[INFO] [stdout] 349 | ...                   let mut response = token_response;
[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: `query`
[INFO] [stdout]    --> src/services/auth.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     query: web::Query<TokenQuery>
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jwks_url`
[INFO] [stdout]    --> src/services/auth.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |     let jwks_url = format!("https://{}/.well-known/jwks.json", auth0_domain);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jwks_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/services/auth.rs:349:49
[INFO] [stdout]     |
[INFO] [stdout] 349 | ...                   let mut response = token_response;
[INFO] [stdout]     |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/services/sse.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         Err(err) => {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/main.rs:56:41
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     .allowed_origin_fn(|origin, _req_head| {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `codes` is never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct AppState {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 25 |     codes: Arc<RwLock<HashMap<String, (String, u64)>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `verified` and `visibility` are never read
[INFO] [stdout]   --> src/services/auth.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct GithubUser {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |     verified: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 83 |     visibility: Option<String>, // visibility 可以为空
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_verification_code` is never used
[INFO] [stdout]    --> src/services/auth.rs:204:10
[INFO] [stdout]     |
[INFO] [stdout] 204 | async fn send_verification_code(email: &str, code: &str) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoginRequest` is never constructed
[INFO] [stdout]    --> src/services/auth.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | struct LoginRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendCodeRequest` is never constructed
[INFO] [stdout]    --> src/services/auth.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | struct SendCodeRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_code` is never used
[INFO] [stdout]    --> src/services/auth.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn generate_code() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_timestamp` is never used
[INFO] [stdout]    --> src/services/auth.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn current_timestamp() -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/services/auth.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | struct TokenQuery {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 243 |     token: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageContent` is never constructed
[INFO] [stdout]   --> src/services/sse.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct MessageContent {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/services/auth.rs:364:91
[INFO] [stdout]     |
[INFO] [stdout] 364 | ...                   let login_response = LoginResponse{email:email.clone().into(),token:token};
[INFO] [stdout]     |                                                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `header_Authorization` should have a snake case name
[INFO] [stdout]   --> src/services/sse.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     header_Authorization: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `header_authorization`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]    --> src/services/auth.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     query: web::Query<TokenQuery>
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jwks_url`
[INFO] [stdout]    --> src/services/auth.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |     let jwks_url = format!("https://{}/.well-known/jwks.json", auth0_domain);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jwks_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/services/auth.rs:349:49
[INFO] [stdout]     |
[INFO] [stdout] 349 | ...                   let mut response = token_response;
[INFO] [stdout]     |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/services/sse.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |         Err(err) => {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/main.rs:56:41
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     .allowed_origin_fn(|origin, _req_head| {
[INFO] [stdout]    |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `codes` is never read
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct AppState {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 25 |     codes: Arc<RwLock<HashMap<String, (String, u64)>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `verified` and `visibility` are never read
[INFO] [stdout]   --> src/services/auth.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct GithubUser {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 82 |     verified: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 83 |     visibility: Option<String>, // visibility 可以为空
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_verification_code` is never used
[INFO] [stdout]    --> src/services/auth.rs:204:10
[INFO] [stdout]     |
[INFO] [stdout] 204 | async fn send_verification_code(email: &str, code: &str) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoginRequest` is never constructed
[INFO] [stdout]    --> src/services/auth.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | struct LoginRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SendCodeRequest` is never constructed
[INFO] [stdout]    --> src/services/auth.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | struct SendCodeRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_code` is never used
[INFO] [stdout]    --> src/services/auth.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn generate_code() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_timestamp` is never used
[INFO] [stdout]    --> src/services/auth.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn current_timestamp() -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/services/auth.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | struct TokenQuery {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 243 |     token: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageContent` is never constructed
[INFO] [stdout]   --> src/services/sse.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct MessageContent {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/services/auth.rs:364:91
[INFO] [stdout]     |
[INFO] [stdout] 364 | ...                   let login_response = LoginResponse{email:email.clone().into(),token:token};
[INFO] [stdout]     |                                                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `header_Authorization` should have a snake case name
[INFO] [stdout]   --> src/services/sse.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     header_Authorization: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `header_authorization`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "8c0c02c8c4a5eb9512664c57f1c30b2467d684619e62fe11648bd9b1a5dd79df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c0c02c8c4a5eb9512664c57f1c30b2467d684619e62fe11648bd9b1a5dd79df", kill_on_drop: false }`
[INFO] [stdout] 8c0c02c8c4a5eb9512664c57f1c30b2467d684619e62fe11648bd9b1a5dd79df
