[INFO] cloning repository https://github.com/Arkhanhel/Secretly
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Arkhanhel/Secretly" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArkhanhel%2FSecretly", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArkhanhel%2FSecretly'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3f196eb788da675364e533dd40b533c97c1663e7
[INFO] checking Arkhanhel/Secretly against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArkhanhel%2FSecretly" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  21% (663/3118)
Updating files:  22% (686/3118)
Updating files:  23% (718/3118)
Updating files:  24% (749/3118)
Updating files:  25% (780/3118)
Updating files:  26% (811/3118)
Updating files:  27% (842/3118)
Updating files:  28% (874/3118)
Updating files:  29% (905/3118)
Updating files:  30% (936/3118)
Updating files:  31% (967/3118)
Updating files:  32% (998/3118)
Updating files:  33% (1029/3118)
Updating files:  34% (1061/3118)
Updating files:  35% (1092/3118)
Updating files:  36% (1123/3118)
Updating files:  37% (1154/3118)
Updating files:  38% (1185/3118)
Updating files:  39% (1217/3118)
Updating files:  40% (1248/3118)
Updating files:  41% (1279/3118)
Updating files:  42% (1310/3118)
Updating files:  43% (1341/3118)
Updating files:  44% (1372/3118)
Updating files:  45% (1404/3118)
Updating files:  46% (1435/3118)
Updating files:  47% (1466/3118)
Updating files:  48% (1497/3118)
Updating files:  49% (1528/3118)
Updating files:  50% (1559/3118)
Updating files:  51% (1591/3118)
Updating files:  52% (1622/3118)
Updating files:  53% (1653/3118)
Updating files:  54% (1684/3118)
Updating files:  55% (1715/3118)
Updating files:  56% (1747/3118)
Updating files:  57% (1778/3118)
Updating files:  58% (1809/3118)
Updating files:  59% (1840/3118)
Updating files:  60% (1871/3118)
Updating files:  61% (1902/3118)
Updating files:  62% (1934/3118)
Updating files:  63% (1965/3118)
Updating files:  64% (1996/3118)
Updating files:  65% (2027/3118)
Updating files:  66% (2058/3118)
Updating files:  67% (2090/3118)
Updating files:  68% (2121/3118)
Updating files:  69% (2152/3118)
Updating files:  70% (2183/3118)
Updating files:  71% (2214/3118)
Updating files:  72% (2245/3118)
Updating files:  73% (2277/3118)
Updating files:  74% (2308/3118)
Updating files:  75% (2339/3118)
Updating files:  76% (2370/3118)
Updating files:  77% (2401/3118)
Updating files:  78% (2433/3118)
Updating files:  79% (2464/3118)
Updating files:  80% (2495/3118)
Updating files:  81% (2526/3118)
Updating files:  82% (2557/3118)
Updating files:  83% (2588/3118)
Updating files:  84% (2620/3118)
Updating files:  85% (2651/3118)
Updating files:  86% (2682/3118)
Updating files:  87% (2713/3118)
Updating files:  88% (2744/3118)
Updating files:  89% (2776/3118)
Updating files:  90% (2807/3118)
Updating files:  91% (2838/3118)
Updating files:  92% (2869/3118)
Updating files:  93% (2900/3118)
Updating files:  94% (2931/3118)
Updating files:  95% (2963/3118)
Updating files:  96% (2994/3118)
Updating files:  97% (3025/3118)
Updating files:  98% (3056/3118)
Updating files:  99% (3087/3118)
Updating files: 100% (3118/3118)
Updating files: 100% (3118/3118), done.
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Arkhanhel/Secretly
[INFO] finished tweaking git repo https://github.com/Arkhanhel/Secretly
[INFO] tweaked toml for git repo https://github.com/Arkhanhel/Secretly written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Arkhanhel/Secretly on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Arkhanhel/Secretly 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd
[INFO] running `Command { std: "docker" "start" "277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling oid-registry v0.8.1
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking base32ct v0.2.2
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.46
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking uuid v1.21.0
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rand v0.9.3
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking tempfile v3.25.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling asn1-rs-derive v0.6.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking num-bigint-dig v0.8.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking asn1-rs v0.7.2
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]     Checking secretly_core v0.1.0 (/opt/rustwide/workdir/core/rust/secretly_core)
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking der-parser v10.0.0
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking x509-parser v0.17.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking jsonwebtoken v10.4.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking h2 v0.4.19
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking rusqlite v0.37.0
[INFO] [stderr]     Checking tokio-rusqlite v0.6.1
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking secretly_relay v0.1.0 (/opt/rustwide/workdir/server/relay)
[INFO] [stderr]     Checking secretly_keys v0.1.0 (/opt/rustwide/workdir/server/keys)
[INFO] [stdout] warning: value assigned to `hello_client_build` is never read
[INFO] [stdout]     --> server/relay/src/main.rs:5679:50
[INFO] [stdout]      |
[INFO] [stdout] 5679 |     let mut hello_client_build: Option<String> = None;
[INFO] [stdout]      |                                                  ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 5689 |                 hello_client_build = client_build;
[INFO] [stdout]      |                 ------------------ `hello_client_build` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `action`, `session_id`, and `signal_id` are never read
[INFO] [stdout]     --> server/relay/src/main.rs:1145:5
[INFO] [stdout]      |
[INFO] [stdout] 1144 | struct RoomCallMediaSignalTransportRecord {
[INFO] [stdout]      |        ---------------------------------- fields in this struct
[INFO] [stdout] 1145 |     action: String,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1148 |     session_id: String,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1151 |     signal_id: String,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RoomCallMediaSignalTransportRecord` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]    --> server/relay/src/store.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct SupportTicketRow {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SupportTicketRow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]    --> server/relay/src/store.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct PushTokenRow {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 235 |     pub device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PushTokenRow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_push_attempted_at_ms` is never read
[INFO] [stdout]    --> server/relay/src/store.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct DeviceActivityRow {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub last_push_attempted_at_ms: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeviceActivityRow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `client_build_distribution`, `device_activity_client_build`, `get_push_token`, `get_push_token_for_platform`, and `enqueue` are never used
[INFO] [stdout]     --> server/relay/src/store.rs:2237:18
[INFO] [stdout]      |
[INFO] [stdout]  814 | impl RelayStore {
[INFO] [stdout]      | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2237 |     pub async fn client_build_distribution(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2261 |     pub async fn device_activity_client_build(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2469 |     pub async fn get_push_token(&self, device_id: &str) -> Result<Option<PushTokenRow>, String> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2495 |     pub async fn get_push_token_for_platform(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6020 |     pub async fn enqueue(
[INFO] [stdout]      |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hello_client_build` is never read
[INFO] [stdout]     --> server/relay/src/main.rs:5679:50
[INFO] [stdout]      |
[INFO] [stdout] 5679 |     let mut hello_client_build: Option<String> = None;
[INFO] [stdout]      |                                                  ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 5689 |                 hello_client_build = client_build;
[INFO] [stdout]      |                 ------------------ `hello_client_build` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]    --> server/relay/src/store.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct SupportTicketRow {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SupportTicketRow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_push_attempted_at_ms` is never read
[INFO] [stdout]    --> server/relay/src/store.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct DeviceActivityRow {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub last_push_attempted_at_ms: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DeviceActivityRow` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `client_build_distribution` is never used
[INFO] [stdout]     --> server/relay/src/store.rs:2237:18
[INFO] [stdout]      |
[INFO] [stdout]  814 | impl RelayStore {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2237 |     pub async fn client_build_distribution(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17717:17
[INFO] [stdout]       |
[INFO] [stdout] 17717 | /                 signed_ws_hello_text_with_build(device_id, &signing_key, "ws-build-1", "544")
[INFO] [stdout] 17718 | |                     .into(),
[INFO] [stdout]       | |___________________________^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]       = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17717 -                 signed_ws_hello_text_with_build(device_id, &signing_key, "ws-build-1", "544")
[INFO] [stdout] 17718 -                     .into(),
[INFO] [stdout] 17717 +                 signed_ws_hello_text_with_build(device_id, &signing_key, "ws-build-1", "544"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17717 -                 signed_ws_hello_text_with_build(device_id, &signing_key, "ws-build-1", "544")
[INFO] [stdout] 17718 -                     .into(),
[INFO] [stdout] 17717 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text_with_build(device_id, &signing_key, "ws-build-1", "544")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17763:17
[INFO] [stdout]       |
[INFO] [stdout] 17763 |                 signed_ws_hello_text(device_id, &signing_key, "ws-hello-ok").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17763 -                 signed_ws_hello_text(device_id, &signing_key, "ws-hello-ok").into(),
[INFO] [stdout] 17763 +                 signed_ws_hello_text(device_id, &signing_key, "ws-hello-ok"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17763 -                 signed_ws_hello_text(device_id, &signing_key, "ws-hello-ok").into(),
[INFO] [stdout] 17763 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text(device_id, &signing_key, "ws-hello-ok")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17803:41
[INFO] [stdout]       |
[INFO] [stdout] 17803 |             .send(ClientWsMessage::Text(hello.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17803 -             .send(ClientWsMessage::Text(hello.into()))
[INFO] [stdout] 17803 +             .send(ClientWsMessage::Text(hello))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17803 -             .send(ClientWsMessage::Text(hello.into()))
[INFO] [stdout] 17803 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(hello)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17832:41
[INFO] [stdout]       |
[INFO] [stdout] 17832 |             .send(ClientWsMessage::Text(hello_auth.clone().into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17832 -             .send(ClientWsMessage::Text(hello_auth.clone().into()))
[INFO] [stdout] 17832 +             .send(ClientWsMessage::Text(hello_auth.clone()))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17832 -             .send(ClientWsMessage::Text(hello_auth.clone().into()))
[INFO] [stdout] 17832 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(hello_auth.clone())))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17839:41
[INFO] [stdout]       |
[INFO] [stdout] 17839 |             .send(ClientWsMessage::Text(hello_auth.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17839 -             .send(ClientWsMessage::Text(hello_auth.into()))
[INFO] [stdout] 17839 +             .send(ClientWsMessage::Text(hello_auth))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17839 -             .send(ClientWsMessage::Text(hello_auth.into()))
[INFO] [stdout] 17839 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(hello_auth)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17879:17
[INFO] [stdout]       |
[INFO] [stdout] 17879 |                 signed_ws_hello_text(sender_device_id, &signing_key, "ws-send-blocked").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17879 -                 signed_ws_hello_text(sender_device_id, &signing_key, "ws-send-blocked").into(),
[INFO] [stdout] 17879 +                 signed_ws_hello_text(sender_device_id, &signing_key, "ws-send-blocked"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17879 -                 signed_ws_hello_text(sender_device_id, &signing_key, "ws-send-blocked").into(),
[INFO] [stdout] 17879 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text(sender_device_id, &signing_key, "ws-send-blocked")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17897:41
[INFO] [stdout]       |
[INFO] [stdout] 17897 |             .send(ClientWsMessage::Text(send.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17897 -             .send(ClientWsMessage::Text(send.into()))
[INFO] [stdout] 17897 +             .send(ClientWsMessage::Text(send))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17897 -             .send(ClientWsMessage::Text(send.into()))
[INFO] [stdout] 17897 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(send)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17925:17
[INFO] [stdout]       |
[INFO] [stdout] 17925 |                 signed_ws_hello_text(device_id, &signing_key, "ws-ping").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17925 -                 signed_ws_hello_text(device_id, &signing_key, "ws-ping").into(),
[INFO] [stdout] 17925 +                 signed_ws_hello_text(device_id, &signing_key, "ws-ping"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17925 -                 signed_ws_hello_text(device_id, &signing_key, "ws-ping").into(),
[INFO] [stdout] 17925 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text(device_id, &signing_key, "ws-ping")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17933:41
[INFO] [stdout]       |
[INFO] [stdout] 17933 |             .send(ClientWsMessage::Text(ping.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17933 -             .send(ClientWsMessage::Text(ping.into()))
[INFO] [stdout] 17933 +             .send(ClientWsMessage::Text(ping))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17933 -             .send(ClientWsMessage::Text(ping.into()))
[INFO] [stdout] 17933 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(ping)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17964:17
[INFO] [stdout]       |
[INFO] [stdout] 17964 |                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-ok").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17964 -                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-ok").into(),
[INFO] [stdout] 17964 +                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-ok"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17964 -                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-ok").into(),
[INFO] [stdout] 17964 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text(device_id, &signing_key, "ws-ack-ok")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:17992:41
[INFO] [stdout]       |
[INFO] [stdout] 17992 |             .send(ClientWsMessage::Text(ack.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 17992 -             .send(ClientWsMessage::Text(ack.into()))
[INFO] [stdout] 17992 +             .send(ClientWsMessage::Text(ack))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 17992 -             .send(ClientWsMessage::Text(ack.into()))
[INFO] [stdout] 17992 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(ack)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:18014:17
[INFO] [stdout]       |
[INFO] [stdout] 18014 |                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-mismatch").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 18014 -                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-mismatch").into(),
[INFO] [stdout] 18014 +                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-mismatch"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 18014 -                 signed_ws_hello_text(device_id, &signing_key, "ws-ack-mismatch").into(),
[INFO] [stdout] 18014 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text(device_id, &signing_key, "ws-ack-mismatch")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:18027:41
[INFO] [stdout]       |
[INFO] [stdout] 18027 |             .send(ClientWsMessage::Text(ack.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 18027 -             .send(ClientWsMessage::Text(ack.into()))
[INFO] [stdout] 18027 +             .send(ClientWsMessage::Text(ack))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 18027 -             .send(ClientWsMessage::Text(ack.into()))
[INFO] [stdout] 18027 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(ack)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:18056:17
[INFO] [stdout]       |
[INFO] [stdout] 18056 |                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-ok").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 18056 -                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-ok").into(),
[INFO] [stdout] 18056 +                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-ok"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 18056 -                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-ok").into(),
[INFO] [stdout] 18056 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text(device_id, &signing_key, "ws-fetch-ok")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:18074:41
[INFO] [stdout]       |
[INFO] [stdout] 18074 |             .send(ClientWsMessage::Text(fetch_pending.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 18074 -             .send(ClientWsMessage::Text(fetch_pending.into()))
[INFO] [stdout] 18074 +             .send(ClientWsMessage::Text(fetch_pending))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 18074 -             .send(ClientWsMessage::Text(fetch_pending.into()))
[INFO] [stdout] 18074 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(fetch_pending)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:18117:17
[INFO] [stdout]       |
[INFO] [stdout] 18117 |                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-mismatch").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 18117 -                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-mismatch").into(),
[INFO] [stdout] 18117 +                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-mismatch"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 18117 -                 signed_ws_hello_text(device_id, &signing_key, "ws-fetch-mismatch").into(),
[INFO] [stdout] 18117 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text(device_id, &signing_key, "ws-fetch-mismatch")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:18129:41
[INFO] [stdout]       |
[INFO] [stdout] 18129 |             .send(ClientWsMessage::Text(fetch_pending.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 18129 -             .send(ClientWsMessage::Text(fetch_pending.into()))
[INFO] [stdout] 18129 +             .send(ClientWsMessage::Text(fetch_pending))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 18129 -             .send(ClientWsMessage::Text(fetch_pending.into()))
[INFO] [stdout] 18129 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(fetch_pending)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:18153:41
[INFO] [stdout]       |
[INFO] [stdout] 18153 |             .send(ClientWsMessage::Text(ping.into()))
[INFO] [stdout]       |                                         ^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 18153 -             .send(ClientWsMessage::Text(ping.into()))
[INFO] [stdout] 18153 +             .send(ClientWsMessage::Text(ping))
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 18153 -             .send(ClientWsMessage::Text(ping.into()))
[INFO] [stdout] 18153 +             .send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(ping)))
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:19040:17
[INFO] [stdout]       |
[INFO] [stdout] 19040 |                 signed_ws_hello_text("dev_oo_ws_a", &key, "ws-online-only").into(),
[INFO] [stdout]       |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 19040 -                 signed_ws_hello_text("dev_oo_ws_a", &key, "ws-online-only").into(),
[INFO] [stdout] 19040 +                 signed_ws_hello_text("dev_oo_ws_a", &key, "ws-online-only"),
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 19040 -                 signed_ws_hello_text("dev_oo_ws_a", &key, "ws-online-only").into(),
[INFO] [stdout] 19040 +                 <std::string::String as Into<_>>::into(signed_ws_hello_text("dev_oo_ws_a", &key, "ws-online-only")),
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]      --> server/relay/src/main.rs:19056:43
[INFO] [stdout]       |
[INFO] [stdout] 19056 |         socket.send(ClientWsMessage::Text(send.into())).await.unwrap();
[INFO] [stdout]       |                                           ^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]       |
[INFO] [stdout] 19056 -         socket.send(ClientWsMessage::Text(send.into())).await.unwrap();
[INFO] [stdout] 19056 +         socket.send(ClientWsMessage::Text(send)).await.unwrap();
[INFO] [stdout]       |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]       |
[INFO] [stdout] 19056 -         socket.send(ClientWsMessage::Text(send.into())).await.unwrap();
[INFO] [stdout] 19056 +         socket.send(ClientWsMessage::Text(<std::string::String as Into<_>>::into(send))).await.unwrap();
[INFO] [stdout]       |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `secretly_relay` (bin "secretly_relay" test) due to 20 previous errors; 4 warnings emitted
[INFO] [stderr] warning: unused dependency `uuid`
[INFO] [stderr]   --> server/keys/Cargo.toml:28:1
[INFO] [stderr]    |
[INFO] [stderr] 28 | uuid = { version = "1", features = ["v7", "serde"] }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `uuid`
[INFO] [stderr] warning: `secretly_keys` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd", kill_on_drop: false }`
[INFO] [stdout] 277352cc20f291b4299500c1d8557935d2309c671fac8aca4a8829d78bcaacfd
