[INFO] cloning repository https://github.com/aspen-chat/aspen-chat-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aspen-chat/aspen-chat-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faspen-chat%2Faspen-chat-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faspen-chat%2Faspen-chat-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 15c5f84c1268244d5a7d9b03887fc5949ebcfae7
[INFO] testing aspen-chat/aspen-chat-server against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faspen-chat%2Faspen-chat-server" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aspen-chat/aspen-chat-server
[INFO] finished tweaking git repo https://github.com/aspen-chat/aspen-chat-server
[INFO] tweaked toml for git repo https://github.com/aspen-chat/aspen-chat-server written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aspen-chat/aspen-chat-server on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aspen-chat/aspen-chat-server 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 11393072c9d9059a65b1f2a676019f8051c009ff8669c3660508d52c056d0cdc
[INFO] running `Command { std: "docker" "start" "-a" "11393072c9d9059a65b1f2a676019f8051c009ff8669c3660508d52c056d0cdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11393072c9d9059a65b1f2a676019f8051c009ff8669c3660508d52c056d0cdc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11393072c9d9059a65b1f2a676019f8051c009ff8669c3660508d52c056d0cdc", kill_on_drop: false }`
[INFO] [stdout] 11393072c9d9059a65b1f2a676019f8051c009ff8669c3660508d52c056d0cdc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a13a67e5df4de15a83cedc4d92422a5b6ee73f46df3fae4f883cdb86f61b4529
[INFO] running `Command { std: "docker" "start" "-a" "a13a67e5df4de15a83cedc4d92422a5b6ee73f46df3fae4f883cdb86f61b4529", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling hashbrown v0.15.3
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling aws-lc-rs v1.13.0
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling rustls-pki-types v1.11.0
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling arc-swap v1.8.2
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling cc v1.2.21
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling pq-sys v0.7.1
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling rustls v0.23.26
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling diesel_derives v2.3.7
[INFO] [stderr]    Compiling normpath v1.5.0
[INFO] [stderr]    Compiling base62 v2.2.3
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling anstyle-parse v0.2.6
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling colorchoice v1.0.3
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling unsafe-libyaml-norway v0.2.15
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling portable-atomic v1.11.0
[INFO] [stderr]    Compiling anstyle-query v1.1.2
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling aws-lc-sys v0.28.2
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling anstream v0.6.18
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling r2d2 v0.8.10
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling toml_parser v1.0.2
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling clap_lex v0.7.4
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling whoami v1.6.0
[INFO] [stderr]    Compiling trim-in-place v0.1.7
[INFO] [stderr]    Compiling base64ct v1.7.3
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling downcast-rs v2.0.2
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling rust-ini v0.21.1
[INFO] [stderr]    Compiling rustls-native-certs v0.7.3
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling clap_builder v4.5.37
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling blake2 v0.10.6
[INFO] [stderr]    Compiling scoped-futures v0.1.4
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling directories-next v2.0.0
[INFO] [stderr]    Compiling rand_chacha v0.10.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling argon2 v0.5.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling yaml-rust2 v0.10.3
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.3.0
[INFO] [stderr]    Compiling rust-i18n v3.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling rcgen v0.14.7
[INFO] [stderr]    Compiling message_gen v0.1.0 (/opt/rustwide/workdir/message_gen)
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling dsl_auto_type v0.2.0
[INFO] [stderr]    Compiling clap v4.5.37
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling tracing-panic v0.1.2
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling triomphe v0.1.15
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling utoipa-gen v5.4.0
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling toml_datetime v0.7.0
[INFO] [stderr]    Compiling serde_spanned v1.0.0
[INFO] [stderr]    Compiling erased-serde v0.4.6
[INFO] [stderr]    Compiling serde_path_to_error v0.1.17
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml v0.9.5
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling tokio v1.44.2
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling postgres-protocol v0.6.8
[INFO] [stderr]    Compiling serde_norway v0.9.42
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling postgres-types v0.2.9
[INFO] [stderr]    Compiling axum-core v0.5.2
[INFO] [stderr]    Compiling serde-untagged v0.1.8
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling diesel v2.3.6
[INFO] [stderr]    Compiling ctrlc v3.4.6
[INFO] [stderr]    Compiling rust-i18n-support v3.1.5
[INFO] [stderr]    Compiling config v0.15.14
[INFO] [stderr]    Compiling rust-i18n-macro v3.1.5
[INFO] [stderr]    Compiling utoipa v5.4.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.1
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling deadpool v0.12.2
[INFO] [stderr]    Compiling h2 v0.4.9
[INFO] [stderr]    Compiling tokio-postgres v0.7.13
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling async-nats v0.46.0
[INFO] [stderr]    Compiling hyper-util v0.1.12
[INFO] [stderr]    Compiling axum v0.8.4
[INFO] [stderr]    Compiling utoipa-axum v0.2.0
[INFO] [stderr]    Compiling diesel-async v0.7.4
[INFO] [stderr]    Compiling aspen-chat-server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stdout] warning: unused import: `post`
[INFO] [stdout]  --> server/src/api/mod.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::routing::{get, post};
[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::database::schema::refresh_token`
[INFO] [stdout]  --> server/src/api/login.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::database::schema::refresh_token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FromRequest` and `Request`
[INFO] [stdout]   --> server/src/api/login.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use axum::extract::{FromRequest, FromRequestParts, Request, State};
[INFO] [stdout]    |                     ^^^^^^^^^^^                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::http::header::ToStrError`
[INFO] [stdout]   --> server/src/api/login.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use axum::http::header::ToStrError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_async::return_futures::GetResult`
[INFO] [stdout]   --> server/src/api/login.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use diesel_async::return_futures::GetResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]   --> server/src/api/login.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::task::{Context, Poll};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower::Service`
[INFO] [stdout]   --> server/src/api/login.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tower::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UserDeleteCommandResponse` and `UserDeleteCommand`
[INFO] [stdout]  --> server/src/api/react.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     UserDeleteCommand, UserDeleteCommandResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UserId`
[INFO] [stdout]  --> server/src/api/user.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::api::{GlobalServerContext, UserId};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::login::hash_password`
[INFO] [stdout]  --> server/src/api/user.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::app::login::hash_password;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::user::User`
[INFO] [stdout]   --> server/src/api/user.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::app::user::User;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::database::schema`
[INFO] [stdout]   --> server/src/api/user.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::database::schema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Extension`
[INFO] [stdout]   --> server/src/api/user.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use axum::{Extension, Json};
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExpressionMethods` and `QueryResult`
[INFO] [stdout]   --> server/src/api/user.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use diesel::{ExpressionMethods, QueryResult};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_async::RunQueryDsl`
[INFO] [stdout]   --> server/src/api/user.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use diesel_async::RunQueryDsl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::login::SessionUser`
[INFO] [stdout]   --> server/src/api/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::api::login::SessionUser;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::Extension`
[INFO] [stdout]   --> server/src/api/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use axum::Extension;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delete` and `patch`
[INFO] [stdout]   --> server/src/api/mod.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | use axum::routing::{delete, patch};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoolExpressionMethods`, `ExpressionMethods as _`, and `QueryDsl`
[INFO] [stdout]   --> server/src/api/mod.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | use diesel::{BoolExpressionMethods, ExpressionMethods as _, QueryDsl};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stdout]   --> server/src/api/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use futures_util::TryFutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layer` and `ServiceBuilder`
[INFO] [stdout]   --> server/src/api/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tower::{Layer, ServiceBuilder};
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utoipa::openapi`
[INFO] [stdout]   --> server/src/api/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use utoipa::openapi;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LicenseBuilder`
[INFO] [stdout]   --> server/src/api/mod.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 | use utoipa::openapi::{License, LicenseBuilder};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Nullable`
[INFO] [stdout]  --> server/src/app/mod.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use diesel::sql_types::{Nullable, SingleValue, Uuid as DieselUuid};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_async::pooled_connection::deadpool`
[INFO] [stdout]  --> server/src/app/login.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use diesel_async::pooled_connection::deadpool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> server/src/app/login.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::{Rng, RngExt};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> server/src/app/login.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IconId`
[INFO] [stdout]  --> server/src/app/user.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::app::{IconId, Loadable, MaybeLoaded, UserId};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryResult`
[INFO] [stdout]   --> server/src/app/user.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use diesel::{QueryResult, prelude::*};
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]   --> server/src/app/login.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures_util::{StreamExt, TryFutureExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::Loadable`
[INFO] [stdout]   --> server/src/app/login.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::app::Loadable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Json(command): Json<CategoryCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Json(command): Json<CategoryReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Json(command): Json<CategoryUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Json(command): Json<CategoryDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Json(command): Json<ChannelCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Json(command): Json<ChannelReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Json(command): Json<ChannelUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Json(command): Json<ChannelDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/community.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/community.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Json(command): Json<CommunityReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/community.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/community.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |     Json(command): Json<CommunityUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/community.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/community.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Json(command): Json<CommunityDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/api/event_stream.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Sse::new(stream.map(|e| todo!())).keep_alive(KeepAlive::default())
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/icon.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/icon.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Json(command): Json<IconCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/icon.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/icon.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Json(command): Json<IconReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/icon.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/icon.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Json(command): Json<IconDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Json(command): Json<MessageCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Json(command): Json<MessageReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Json(command): Json<MessageUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Json(command): Json<MessageDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/react.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/react.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Json(command): Json<ReactCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/react.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/react.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Json(command): Json<ReactDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/api/user.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     e,
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/user.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/user.rs:95:10
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Json(command): Json<UserUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> server/src/api/user.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> server/src/api/user.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Json(command): Json<UserDeleteCommand>,
[INFO] [stdout]     |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pg_connection`
[INFO] [stdout]   --> server/src/app/category.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/category.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         id: Self::Id,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pg_connection`
[INFO] [stdout]   --> server/src/app/channel.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/channel.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         id: Self::Id,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pg_connection`
[INFO] [stdout]   --> server/src/app/icon.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/icon.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         id: IconId,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `author`
[INFO] [stdout]   --> server/src/app/message.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     author: UserId,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_author`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_id`
[INFO] [stdout]   --> server/src/app/message.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     channel_id: ChannelId,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> server/src/app/message.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     content: String,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attachment`
[INFO] [stdout]   --> server/src/app/message.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     attachment: Vec<AttachmentInput>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attachment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/message.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let id = MessageId::new();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Attachment` is never constructed
[INFO] [stdout]    --> server/src/api/mod.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct Attachment {
[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 `AttachmentMeta` is never constructed
[INFO] [stdout]    --> server/src/api/mod.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct AttachmentMeta {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nats_connection_manager` is never read
[INFO] [stdout]    --> server/src/api/mod.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct GlobalServerContext {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 130 |     pub connection_pool: Pool<AsyncPgConnection>,
[INFO] [stdout] 131 |     pub nats_connection_manager: Arc<RwLock<NatsConnectionManager>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlobalServerContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAILBOX_SIZE` is never used
[INFO] [stdout]    --> server/src/api/mod.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 | const MAILBOX_SIZE: usize = 512;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_icon` is never used
[INFO] [stdout]   --> server/src/api/icon.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn read_icon(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> server/src/api/login.rs:187:24
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct SessionUser(pub User);
[INFO] [stdout]     |            ----------- ^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `SessionUser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttachmentInput` is never constructed
[INFO] [stdout]  --> server/src/app/attachment.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct AttachmentInput {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttachmentData` is never constructed
[INFO] [stdout]  --> server/src/app/attachment.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct AttachmentData {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Category` is never constructed
[INFO] [stdout]  --> server/src/app/category.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Category {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Channel` is never constructed
[INFO] [stdout]  --> server/src/app/channel.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Channel {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]  --> server/src/app/message.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Message {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_message` is never used
[INFO] [stdout]   --> server/src/app/message.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn create_message(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_queue_size` is never read
[INFO] [stdout]  --> server/src/aspen_config.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AspenConfig {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 8 |     #[serde(default = "default_event_queue_size")]
[INFO] [stdout] 9 |     pub event_queue_size: usize,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AspenConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `subscriptions`, `queue_subscriptions`, and `client` are never read
[INFO] [stdout]   --> server/src/nats_connection_manager.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct NatsConnectionManager {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 20 |     subscriptions: HashMap<String, broadcast::WeakSender<async_nats::Message>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     queue_subscriptions: HashMap<(String, String), broadcast::WeakSender<async_nats::Message>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     client: async_nats::Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> server/src/nats_connection_manager.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl NatsConnectionManager {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn timeout(&self) -> Option<Duration> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn server_info(&self) -> ServerInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn is_server_compatible(&self, major: i64, minor: i64, patch: i64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub async fn publish<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub async fn publish_with_headers<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub async fn publish_with_reply<S: ToSubject, R: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub async fn publish_with_reply_and_headers<S: ToSubject, R: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub async fn request<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub async fn request_with_headers<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub async fn send_request<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn new_inbox(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub async fn subscribe<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     async fn new_backhaul_connection_subscribe(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn queue_subscribe<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     async fn new_backhaul_connection_queue_subscribe(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub async fn flush(&self) -> Result<(), FlushError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub async fn drain(&self) -> Result<(), DrainError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn connection_state(&self) -> State {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub async fn force_reconnect(&self) -> Result<(), ReconnectError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn statistics(&self) -> Arc<Statistics> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drive_broadcast_channel` is never used
[INFO] [stdout]    --> server/src/nats_connection_manager.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn drive_broadcast_channel(sender: broadcast::Sender<Message>, mut subscriber: Subscriber) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 36s
[INFO] running `Command { std: "docker" "inspect" "a13a67e5df4de15a83cedc4d92422a5b6ee73f46df3fae4f883cdb86f61b4529", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a13a67e5df4de15a83cedc4d92422a5b6ee73f46df3fae4f883cdb86f61b4529", kill_on_drop: false }`
[INFO] [stdout] a13a67e5df4de15a83cedc4d92422a5b6ee73f46df3fae4f883cdb86f61b4529
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 89aaebf0f7118f3ef20d288fd22a6ec5508e63f4108888c5e199f28f960ff3c8
[INFO] running `Command { std: "docker" "start" "-a" "89aaebf0f7118f3ef20d288fd22a6ec5508e63f4108888c5e199f28f960ff3c8", kill_on_drop: false }`
[INFO] [stderr]    Compiling aspen-chat-server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stdout] warning: unused import: `post`
[INFO] [stdout]  --> server/src/api/mod.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::routing::{get, post};
[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::database::schema::refresh_token`
[INFO] [stdout]  --> server/src/api/login.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::database::schema::refresh_token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FromRequest` and `Request`
[INFO] [stdout]   --> server/src/api/login.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use axum::extract::{FromRequest, FromRequestParts, Request, State};
[INFO] [stdout]    |                     ^^^^^^^^^^^                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::http::header::ToStrError`
[INFO] [stdout]   --> server/src/api/login.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use axum::http::header::ToStrError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_async::return_futures::GetResult`
[INFO] [stdout]   --> server/src/api/login.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use diesel_async::return_futures::GetResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]   --> server/src/api/login.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::task::{Context, Poll};
[INFO] [stdout]    |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower::Service`
[INFO] [stdout]   --> server/src/api/login.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tower::Service;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UserDeleteCommandResponse` and `UserDeleteCommand`
[INFO] [stdout]  --> server/src/api/react.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     UserDeleteCommand, UserDeleteCommandResponse,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UserId`
[INFO] [stdout]  --> server/src/api/user.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::api::{GlobalServerContext, UserId};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::login::hash_password`
[INFO] [stdout]  --> server/src/api/user.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::app::login::hash_password;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::user::User`
[INFO] [stdout]   --> server/src/api/user.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::app::user::User;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::database::schema`
[INFO] [stdout]   --> server/src/api/user.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::database::schema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Extension`
[INFO] [stdout]   --> server/src/api/user.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use axum::{Extension, Json};
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExpressionMethods` and `QueryResult`
[INFO] [stdout]   --> server/src/api/user.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use diesel::{ExpressionMethods, QueryResult};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_async::RunQueryDsl`
[INFO] [stdout]   --> server/src/api/user.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use diesel_async::RunQueryDsl;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::login::SessionUser`
[INFO] [stdout]   --> server/src/api/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::api::login::SessionUser;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::Extension`
[INFO] [stdout]   --> server/src/api/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use axum::Extension;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delete` and `patch`
[INFO] [stdout]   --> server/src/api/mod.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | use axum::routing::{delete, patch};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoolExpressionMethods`, `ExpressionMethods as _`, and `QueryDsl`
[INFO] [stdout]   --> server/src/api/mod.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | use diesel::{BoolExpressionMethods, ExpressionMethods as _, QueryDsl};
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stdout]   --> server/src/api/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use futures_util::TryFutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layer` and `ServiceBuilder`
[INFO] [stdout]   --> server/src/api/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tower::{Layer, ServiceBuilder};
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utoipa::openapi`
[INFO] [stdout]   --> server/src/api/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use utoipa::openapi;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LicenseBuilder`
[INFO] [stdout]   --> server/src/api/mod.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 | use utoipa::openapi::{License, LicenseBuilder};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Nullable`
[INFO] [stdout]  --> server/src/app/mod.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use diesel::sql_types::{Nullable, SingleValue, Uuid as DieselUuid};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_async::pooled_connection::deadpool`
[INFO] [stdout]  --> server/src/app/login.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use diesel_async::pooled_connection::deadpool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> server/src/app/login.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::{Rng, RngExt};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> server/src/app/login.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IconId`
[INFO] [stdout]  --> server/src/app/user.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::app::{IconId, Loadable, MaybeLoaded, UserId};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryResult`
[INFO] [stdout]   --> server/src/app/user.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use diesel::{QueryResult, prelude::*};
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]   --> server/src/app/login.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures_util::{StreamExt, TryFutureExt};
[INFO] [stdout]    |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::Loadable`
[INFO] [stdout]   --> server/src/app/login.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::app::Loadable;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Json(command): Json<CategoryCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Json(command): Json<CategoryReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Json(command): Json<CategoryUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/category.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/category.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |     Json(command): Json<CategoryDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Json(command): Json<ChannelCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Json(command): Json<ChannelReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Json(command): Json<ChannelUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/channel.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/channel.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Json(command): Json<ChannelDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/community.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/community.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Json(command): Json<CommunityReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/community.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/community.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |     Json(command): Json<CommunityUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/community.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/community.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Json(command): Json<CommunityDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/api/event_stream.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Sse::new(stream.map(|e| todo!())).keep_alive(KeepAlive::default())
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/icon.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/icon.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Json(command): Json<IconCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/icon.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/icon.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Json(command): Json<IconReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/icon.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/icon.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 |     Json(command): Json<IconDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Json(command): Json<MessageCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Json(command): Json<MessageReadCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Json(command): Json<MessageUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/message.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/message.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 |     Json(command): Json<MessageDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/react.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/react.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Json(command): Json<ReactCreateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/react.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/react.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Json(command): Json<ReactDeleteCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> server/src/api/user.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     e,
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> server/src/api/user.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]   --> server/src/api/user.rs:95:10
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Json(command): Json<UserUpdateCommand>,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> server/src/api/user.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 102 |     State(state): State<GlobalServerContext>,
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `command`
[INFO] [stdout]    --> server/src/api/user.rs:103:10
[INFO] [stdout]     |
[INFO] [stdout] 103 |     Json(command): Json<UserDeleteCommand>,
[INFO] [stdout]     |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pg_connection`
[INFO] [stdout]   --> server/src/app/category.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/category.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         id: Self::Id,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pg_connection`
[INFO] [stdout]   --> server/src/app/channel.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/channel.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         id: Self::Id,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pg_connection`
[INFO] [stdout]   --> server/src/app/icon.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/icon.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         id: IconId,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `author`
[INFO] [stdout]   --> server/src/app/message.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     author: UserId,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_author`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `channel_id`
[INFO] [stdout]   --> server/src/app/message.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     channel_id: ChannelId,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> server/src/app/message.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     content: String,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attachment`
[INFO] [stdout]   --> server/src/app/message.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     attachment: Vec<AttachmentInput>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attachment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> server/src/app/message.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let id = MessageId::new();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Attachment` is never constructed
[INFO] [stdout]    --> server/src/api/mod.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct Attachment {
[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 `AttachmentMeta` is never constructed
[INFO] [stdout]    --> server/src/api/mod.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct AttachmentMeta {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nats_connection_manager` is never read
[INFO] [stdout]    --> server/src/api/mod.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct GlobalServerContext {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 130 |     pub connection_pool: Pool<AsyncPgConnection>,
[INFO] [stdout] 131 |     pub nats_connection_manager: Arc<RwLock<NatsConnectionManager>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GlobalServerContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAILBOX_SIZE` is never used
[INFO] [stdout]    --> server/src/api/mod.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 | const MAILBOX_SIZE: usize = 512;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_icon` is never used
[INFO] [stdout]   --> server/src/api/icon.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn read_icon(
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> server/src/api/login.rs:187:24
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct SessionUser(pub User);
[INFO] [stdout]     |            ----------- ^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `SessionUser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttachmentInput` is never constructed
[INFO] [stdout]  --> server/src/app/attachment.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct AttachmentInput {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttachmentData` is never constructed
[INFO] [stdout]  --> server/src/app/attachment.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct AttachmentData {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Category` is never constructed
[INFO] [stdout]  --> server/src/app/category.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Category {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Channel` is never constructed
[INFO] [stdout]  --> server/src/app/channel.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Channel {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Message` is never constructed
[INFO] [stdout]  --> server/src/app/message.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Message {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_message` is never used
[INFO] [stdout]   --> server/src/app/message.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn create_message(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `event_queue_size` is never read
[INFO] [stdout]  --> server/src/aspen_config.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AspenConfig {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 8 |     #[serde(default = "default_event_queue_size")]
[INFO] [stdout] 9 |     pub event_queue_size: usize,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AspenConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `subscriptions`, `queue_subscriptions`, and `client` are never read
[INFO] [stdout]   --> server/src/nats_connection_manager.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct NatsConnectionManager {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 20 |     subscriptions: HashMap<String, broadcast::WeakSender<async_nats::Message>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     queue_subscriptions: HashMap<(String, String), broadcast::WeakSender<async_nats::Message>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     client: async_nats::Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> server/src/nats_connection_manager.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl NatsConnectionManager {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn timeout(&self) -> Option<Duration> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn server_info(&self) -> ServerInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn is_server_compatible(&self, major: i64, minor: i64, patch: i64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub async fn publish<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub async fn publish_with_headers<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub async fn publish_with_reply<S: ToSubject, R: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub async fn publish_with_reply_and_headers<S: ToSubject, R: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub async fn request<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub async fn request_with_headers<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub async fn send_request<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn new_inbox(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub async fn subscribe<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     async fn new_backhaul_connection_subscribe(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn queue_subscribe<S: ToSubject>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     async fn new_backhaul_connection_queue_subscribe(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub async fn flush(&self) -> Result<(), FlushError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub async fn drain(&self) -> Result<(), DrainError> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn connection_state(&self) -> State {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub async fn force_reconnect(&self) -> Result<(), ReconnectError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn statistics(&self) -> Arc<Statistics> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `drive_broadcast_channel` is never used
[INFO] [stdout]    --> server/src/nats_connection_manager.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn drive_broadcast_channel(sender: broadcast::Sender<Message>, mut subscriber: Subscriber) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.30s
[INFO] running `Command { std: "docker" "inspect" "89aaebf0f7118f3ef20d288fd22a6ec5508e63f4108888c5e199f28f960ff3c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89aaebf0f7118f3ef20d288fd22a6ec5508e63f4108888c5e199f28f960ff3c8", kill_on_drop: false }`
[INFO] [stdout] 89aaebf0f7118f3ef20d288fd22a6ec5508e63f4108888c5e199f28f960ff3c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 803f4951a73ebb8c7eddba9d1395e044e3b7a9fbeab982be791cee20a624e0e6
[INFO] running `Command { std: "docker" "start" "-a" "803f4951a73ebb8c7eddba9d1395e044e3b7a9fbeab982be791cee20a624e0e6", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `post`
[INFO] [stderr]  --> server/src/api/mod.rs:3:26
[INFO] [stderr]   |
[INFO] [stderr] 3 | use axum::routing::{get, post};
[INFO] [stderr]   |                          ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::database::schema::refresh_token`
[INFO] [stderr]  --> server/src/api/login.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::database::schema::refresh_token;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FromRequest` and `Request`
[INFO] [stderr]   --> server/src/api/login.rs:10:21
[INFO] [stderr]    |
[INFO] [stderr] 10 | use axum::extract::{FromRequest, FromRequestParts, Request, State};
[INFO] [stderr]    |                     ^^^^^^^^^^^                    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `axum::http::header::ToStrError`
[INFO] [stderr]   --> server/src/api/login.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use axum::http::header::ToStrError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `diesel_async::return_futures::GetResult`
[INFO] [stderr]   --> server/src/api/login.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use diesel_async::return_futures::GetResult;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Context` and `Poll`
[INFO] [stderr]   --> server/src/api/login.rs:20:17
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::task::{Context, Poll};
[INFO] [stderr]    |                 ^^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tower::Service`
[INFO] [stderr]   --> server/src/api/login.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use tower::Service;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `UserDeleteCommandResponse` and `UserDeleteCommand`
[INFO] [stderr]  --> server/src/api/react.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     UserDeleteCommand, UserDeleteCommandResponse,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `UserId`
[INFO] [stderr]  --> server/src/api/user.rs:6:39
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::api::{GlobalServerContext, UserId};
[INFO] [stderr]   |                                       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::app::login::hash_password`
[INFO] [stderr]  --> server/src/api/user.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::app::login::hash_password;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::app::user::User`
[INFO] [stderr]   --> server/src/api/user.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::app::user::User;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::database::schema`
[INFO] [stderr]   --> server/src/api/user.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::database::schema;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Extension`
[INFO] [stderr]   --> server/src/api/user.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | use axum::{Extension, Json};
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ExpressionMethods` and `QueryResult`
[INFO] [stderr]   --> server/src/api/user.rs:16:14
[INFO] [stderr]    |
[INFO] [stderr] 16 | use diesel::{ExpressionMethods, QueryResult};
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `diesel_async::RunQueryDsl`
[INFO] [stderr]   --> server/src/api/user.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use diesel_async::RunQueryDsl;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::api::login::SessionUser`
[INFO] [stderr]   --> server/src/api/mod.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::api::login::SessionUser;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `axum::Extension`
[INFO] [stderr]   --> server/src/api/mod.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use axum::Extension;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `delete` and `patch`
[INFO] [stderr]   --> server/src/api/mod.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 | use axum::routing::{delete, patch};
[INFO] [stderr]    |                     ^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BoolExpressionMethods`, `ExpressionMethods as _`, and `QueryDsl`
[INFO] [stderr]   --> server/src/api/mod.rs:23:14
[INFO] [stderr]    |
[INFO] [stderr] 23 | use diesel::{BoolExpressionMethods, ExpressionMethods as _, QueryDsl};
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stderr]   --> server/src/api/mod.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | use futures_util::TryFutureExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Layer` and `ServiceBuilder`
[INFO] [stderr]   --> server/src/api/mod.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 | use tower::{Layer, ServiceBuilder};
[INFO] [stderr]    |             ^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `utoipa::openapi`
[INFO] [stderr]   --> server/src/api/mod.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | use utoipa::openapi;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LicenseBuilder`
[INFO] [stderr]   --> server/src/api/mod.rs:30:32
[INFO] [stderr]    |
[INFO] [stderr] 30 | use utoipa::openapi::{License, LicenseBuilder};
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Nullable`
[INFO] [stderr]  --> server/src/app/mod.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use diesel::sql_types::{Nullable, SingleValue, Uuid as DieselUuid};
[INFO] [stderr]   |                         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `diesel_async::pooled_connection::deadpool`
[INFO] [stderr]  --> server/src/app/login.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use diesel_async::pooled_connection::deadpool;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Rng`
[INFO] [stderr]   --> server/src/app/login.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rand::{Rng, RngExt};
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]   --> server/src/app/login.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use uuid::Uuid;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `IconId`
[INFO] [stderr]  --> server/src/app/user.rs:6:18
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::app::{IconId, Loadable, MaybeLoaded, UserId};
[INFO] [stderr]   |                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `QueryResult`
[INFO] [stderr]   --> server/src/app/user.rs:10:14
[INFO] [stderr]    |
[INFO] [stderr] 10 | use diesel::{QueryResult, prelude::*};
[INFO] [stderr]    |              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TryFutureExt`
[INFO] [stderr]   --> server/src/app/login.rs:10:31
[INFO] [stderr]    |
[INFO] [stderr] 10 | use futures_util::{StreamExt, TryFutureExt};
[INFO] [stderr]    |                               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::app::Loadable`
[INFO] [stderr]   --> server/src/app/login.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::app::Loadable;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/category.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/category.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 |     Json(command): Json<CategoryCreateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/category.rs:22:11
[INFO] [stderr]    |
[INFO] [stderr] 22 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/category.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 |     Json(command): Json<CategoryReadCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/category.rs:30:11
[INFO] [stderr]    |
[INFO] [stderr] 30 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/category.rs:31:10
[INFO] [stderr]    |
[INFO] [stderr] 31 |     Json(command): Json<CategoryUpdateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/category.rs:38:11
[INFO] [stderr]    |
[INFO] [stderr] 38 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/category.rs:39:10
[INFO] [stderr]    |
[INFO] [stderr] 39 |     Json(command): Json<CategoryDeleteCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/channel.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/channel.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Json(command): Json<ChannelCreateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/channel.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/channel.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 22 |     Json(command): Json<ChannelReadCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/channel.rs:29:11
[INFO] [stderr]    |
[INFO] [stderr] 29 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/channel.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 |     Json(command): Json<ChannelUpdateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/channel.rs:37:11
[INFO] [stderr]    |
[INFO] [stderr] 37 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/channel.rs:38:10
[INFO] [stderr]    |
[INFO] [stderr] 38 |     Json(command): Json<ChannelDeleteCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/community.rs:49:11
[INFO] [stderr]    |
[INFO] [stderr] 49 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/community.rs:50:10
[INFO] [stderr]    |
[INFO] [stderr] 50 |     Json(command): Json<CommunityReadCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/community.rs:57:11
[INFO] [stderr]    |
[INFO] [stderr] 57 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/community.rs:58:10
[INFO] [stderr]    |
[INFO] [stderr] 58 |     Json(command): Json<CommunityUpdateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/community.rs:65:11
[INFO] [stderr]    |
[INFO] [stderr] 65 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/community.rs:66:10
[INFO] [stderr]    |
[INFO] [stderr] 66 |     Json(command): Json<CommunityDeleteCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> server/src/api/event_stream.rs:36:26
[INFO] [stderr]    |
[INFO] [stderr] 36 |     Sse::new(stream.map(|e| todo!())).keep_alive(KeepAlive::default())
[INFO] [stderr]    |                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/icon.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/icon.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Json(command): Json<IconCreateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/icon.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/icon.rs:21:10
[INFO] [stderr]    |
[INFO] [stderr] 21 |     Json(command): Json<IconReadCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/icon.rs:28:11
[INFO] [stderr]    |
[INFO] [stderr] 28 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/icon.rs:29:10
[INFO] [stderr]    |
[INFO] [stderr] 29 |     Json(command): Json<IconDeleteCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/message.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/message.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 |     Json(command): Json<MessageCreateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/message.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/message.rs:24:10
[INFO] [stderr]    |
[INFO] [stderr] 24 |     Json(command): Json<MessageReadCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/message.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/message.rs:33:10
[INFO] [stderr]    |
[INFO] [stderr] 33 |     Json(command): Json<MessageUpdateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/message.rs:40:11
[INFO] [stderr]    |
[INFO] [stderr] 40 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/message.rs:41:10
[INFO] [stderr]    |
[INFO] [stderr] 41 |     Json(command): Json<MessageDeleteCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/react.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/react.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Json(command): Json<ReactCreateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/react.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/react.rs:22:10
[INFO] [stderr]    |
[INFO] [stderr] 22 |     Json(command): Json<ReactDeleteCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> server/src/api/user.rs:32:21
[INFO] [stderr]    |
[INFO] [stderr] 32 |                     e,
[INFO] [stderr]    |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> server/src/api/user.rs:94:11
[INFO] [stderr]    |
[INFO] [stderr] 94 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]    |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]   --> server/src/api/user.rs:95:10
[INFO] [stderr]    |
[INFO] [stderr] 95 |     Json(command): Json<UserUpdateCommand>,
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]    --> server/src/api/user.rs:102:11
[INFO] [stderr]     |
[INFO] [stderr] 102 |     State(state): State<GlobalServerContext>,
[INFO] [stderr]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `command`
[INFO] [stderr]    --> server/src/api/user.rs:103:10
[INFO] [stderr]     |
[INFO] [stderr] 103 |     Json(command): Json<UserDeleteCommand>,
[INFO] [stderr]     |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pg_connection`
[INFO] [stderr]   --> server/src/app/category.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> server/src/app/category.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |         id: Self::Id,
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pg_connection`
[INFO] [stderr]   --> server/src/app/channel.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> server/src/app/channel.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |         id: Self::Id,
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pg_connection`
[INFO] [stderr]   --> server/src/app/icon.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         pg_connection: &mut AsyncPgConnection,
[INFO] [stderr]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pg_connection`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> server/src/app/icon.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         id: IconId,
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `author`
[INFO] [stderr]   --> server/src/app/message.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     author: UserId,
[INFO] [stderr]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_author`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `channel_id`
[INFO] [stderr]   --> server/src/app/message.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     channel_id: ChannelId,
[INFO] [stderr]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_channel_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]   --> server/src/app/message.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     content: String,
[INFO] [stderr]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attachment`
[INFO] [stderr]   --> server/src/app/message.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     attachment: Vec<AttachmentInput>,
[INFO] [stderr]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attachment`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> server/src/app/message.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |     let id = MessageId::new();
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Attachment` is never constructed
[INFO] [stderr]    --> server/src/api/mod.rs:103:12
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub struct Attachment {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AttachmentMeta` is never constructed
[INFO] [stderr]    --> server/src/api/mod.rs:110:12
[INFO] [stderr]     |
[INFO] [stderr] 110 | pub struct AttachmentMeta {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `nats_connection_manager` is never read
[INFO] [stderr]    --> server/src/api/mod.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 129 | pub struct GlobalServerContext {
[INFO] [stderr]     |            ------------------- field in this struct
[INFO] [stderr] 130 |     pub connection_pool: Pool<AsyncPgConnection>,
[INFO] [stderr] 131 |     pub nats_connection_manager: Arc<RwLock<NatsConnectionManager>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GlobalServerContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAILBOX_SIZE` is never used
[INFO] [stderr]    --> server/src/api/mod.rs:153:7
[INFO] [stderr]     |
[INFO] [stderr] 153 | const MAILBOX_SIZE: usize = 512;
[INFO] [stderr]     |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_icon` is never used
[INFO] [stderr]   --> server/src/api/icon.rs:19:14
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub async fn read_icon(
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> server/src/api/login.rs:187:24
[INFO] [stderr]     |
[INFO] [stderr] 187 | pub struct SessionUser(pub User);
[INFO] [stderr]     |            ----------- ^^^^^^^^
[INFO] [stderr]     |            |
[INFO] [stderr]     |            field in this struct
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider removing this field
[INFO] [stderr]     = note: `SessionUser` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AttachmentInput` is never constructed
[INFO] [stderr]  --> server/src/app/attachment.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct AttachmentInput {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AttachmentData` is never constructed
[INFO] [stderr]  --> server/src/app/attachment.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct AttachmentData {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Category` is never constructed
[INFO] [stderr]  --> server/src/app/category.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Category {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Channel` is never constructed
[INFO] [stderr]  --> server/src/app/channel.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Channel {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Message` is never constructed
[INFO] [stderr]  --> server/src/app/message.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct Message {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `create_message` is never used
[INFO] [stderr]   --> server/src/app/message.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn create_message(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `event_queue_size` is never read
[INFO] [stderr]  --> server/src/aspen_config.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct AspenConfig {
[INFO] [stderr]   |            ----------- field in this struct
[INFO] [stderr] 8 |     #[serde(default = "default_event_queue_size")]
[INFO] [stderr] 9 |     pub event_queue_size: usize,
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `AspenConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `subscriptions`, `queue_subscriptions`, and `client` are never read
[INFO] [stderr]   --> server/src/nats_connection_manager.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct NatsConnectionManager {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 20 |     subscriptions: HashMap<String, broadcast::WeakSender<async_nats::Message>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 21 |     queue_subscriptions: HashMap<(String, String), broadcast::WeakSender<async_nats::Message>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 22 |     client: async_nats::Client,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> server/src/nats_connection_manager.rs:36:12
[INFO] [stderr]     |
[INFO] [stderr]  25 | impl NatsConnectionManager {
[INFO] [stderr]     | -------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  36 |     pub fn timeout(&self) -> Option<Duration> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  40 |     pub fn server_info(&self) -> ServerInfo {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  44 |     pub fn is_server_compatible(&self, major: i64, minor: i64, patch: i64) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  48 |     pub async fn publish<S: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  56 |     pub async fn publish_with_headers<S: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  67 |     pub async fn publish_with_reply<S: ToSubject, R: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  78 |     pub async fn publish_with_reply_and_headers<S: ToSubject, R: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  90 |     pub async fn request<S: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  98 |     pub async fn request_with_headers<S: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 109 |     pub async fn send_request<S: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub fn new_inbox(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub async fn subscribe<S: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 135 |     async fn new_backhaul_connection_subscribe(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 149 |     pub async fn queue_subscribe<S: ToSubject>(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 173 |     async fn new_backhaul_connection_queue_subscribe(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 191 |     pub async fn flush(&self) -> Result<(), FlushError> {
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 195 |     pub async fn drain(&self) -> Result<(), DrainError> {
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 199 |     pub fn connection_state(&self) -> State {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 203 |     pub async fn force_reconnect(&self) -> Result<(), ReconnectError> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 207 |     pub fn statistics(&self) -> Arc<Statistics> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `drive_broadcast_channel` is never used
[INFO] [stderr]    --> server/src/nats_connection_manager.rs:212:4
[INFO] [stderr]     |
[INFO] [stderr] 212 | fn drive_broadcast_channel(sender: broadcast::Sender<Message>, mut subscriber: Subscriber) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `aspen-chat-server` (bin "aspen-chat-server" test) generated 104 warnings (run `cargo fix --bin "aspen-chat-server" -p aspen-chat-server --tests` to apply 86 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.43s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aspen_chat_server-91a65aa4c7ed21fc)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test api::message_enum::tests::server_event_transparent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "803f4951a73ebb8c7eddba9d1395e044e3b7a9fbeab982be791cee20a624e0e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "803f4951a73ebb8c7eddba9d1395e044e3b7a9fbeab982be791cee20a624e0e6", kill_on_drop: false }`
[INFO] [stdout] 803f4951a73ebb8c7eddba9d1395e044e3b7a9fbeab982be791cee20a624e0e6
