[INFO] fetching crate palpo 0.0.1...
[INFO] checking palpo-0.0.1 against master#39cb3386ddc6c71657418be28dbb3987eea4aa4b for pr-133536
[INFO] extracting crate palpo 0.0.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate palpo 0.0.1 on toolchain 39cb3386ddc6c71657418be28dbb3987eea4aa4b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate palpo 0.0.1
[INFO] finished tweaking crates.io crate palpo 0.0.1
[INFO] tweaked toml for crates.io crate palpo 0.0.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate palpo 0.0.1 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" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded textnonce v1.0.0
[INFO] [stderr]   Downloaded salvo_extra v0.69.0
[INFO] [stderr]   Downloaded salvo v0.69.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.23.0
[INFO] [stderr]   Downloaded ordered-multimap v0.6.0
[INFO] [stderr]   Downloaded salvo_core v0.69.0
[INFO] [stderr]   Downloaded chksum-hash-sha2 v0.0.1
[INFO] [stderr]   Downloaded konst_proc_macros v0.3.0
[INFO] [stderr]   Downloaded palpo-identifiers-validation v0.0.1
[INFO] [stderr]   Downloaded salvo-proxy v0.69.0
[INFO] [stderr]   Downloaded rust-embed-impl v8.4.0
[INFO] [stderr]   Downloaded chksum-hash-sha1 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-md5 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-sha2-224 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-sha2-256 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-sha2-512 v0.0.0
[INFO] [stderr]   Downloaded fast32 v1.0.2
[INFO] [stderr]   Downloaded config v0.14.0
[INFO] [stderr]   Downloaded salvo-oapi-macros v0.69.0
[INFO] [stderr]   Downloaded bigdecimal v0.4.3
[INFO] [stderr]   Downloaded konst v0.3.9
[INFO] [stderr]   Downloaded headers v0.4.0
[INFO] [stderr]   Downloaded rustls v0.23.8
[INFO] [stderr]   Downloaded chksum-hash v0.5.1
[INFO] [stderr]   Downloaded chksum-hash-md5 v0.0.0
[INFO] [stderr]   Downloaded redis v0.25.4
[INFO] [stderr]   Downloaded blurhash v0.2.1
[INFO] [stderr]   Downloaded chksum-sha2-384 v0.0.0
[INFO] [stderr]   Downloaded palpo-core v0.0.1
[INFO] [stderr]   Downloaded diesel v2.2.0
[INFO] [stderr]   Downloaded chksum-hash-sha1 v0.0.0
[INFO] [stderr]   Downloaded chksum-hash-sha2-224 v0.0.0
[INFO] [stderr]   Downloaded chksum-hash-sha2-256 v0.0.0
[INFO] [stderr]   Downloaded chksum-sha2-256 v0.0.0
[INFO] [stderr]   Downloaded chksum-hash-sha2-384 v0.0.0
[INFO] [stderr]   Downloaded bitstream-io v2.3.0
[INFO] [stderr]   Downloaded cruet v0.14.0
[INFO] [stderr]   Downloaded palpo-macros v0.0.1
[INFO] [stderr]   Downloaded salvo-jwt-auth v0.69.0
[INFO] [stderr]   Downloaded salvo-serve-static v0.69.0
[INFO] [stderr]   Downloaded xxhash-rust v0.8.10
[INFO] [stderr]   Downloaded salvo_macros v0.69.0
[INFO] [stderr]   Downloaded chksum-hash-sha2-384 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-sha2-512 v0.0.1
[INFO] [stderr]   Downloaded chksum-md5 v0.0.0
[INFO] [stderr]   Downloaded chksum-sha1 v0.0.0
[INFO] [stderr]   Downloaded chksum-hash-sha2 v0.0.0
[INFO] [stderr]   Downloaded chksum-sha2-224 v0.0.0
[INFO] [stderr]   Downloaded chksum-core v0.0.0
[INFO] [stderr]   Downloaded chksum-sha2-512 v0.0.0
[INFO] [stderr]   Downloaded chksum v0.3.0
[INFO] [stderr]   Downloaded as_variant v1.2.0
[INFO] [stderr]   Downloaded rust-ini v0.19.0
[INFO] [stderr]   Downloaded dsl_auto_type v0.1.0
[INFO] [stderr]   Downloaded pq-sys v0.6.0
[INFO] [stderr]   Downloaded konst_kernel v0.3.9
[INFO] [stderr]   Downloaded rust-embed-utils v8.4.0
[INFO] [stderr]   Downloaded str-buf v3.0.3
[INFO] [stderr]   Downloaded etag v4.0.0
[INFO] [stderr]   Downloaded rust-embed v8.4.0
[INFO] [stderr]   Downloaded headers-core v0.3.0
[INFO] [stderr]   Downloaded mime-infer v3.0.0
[INFO] [stderr]   Downloaded salvo-serde-util v0.69.0
[INFO] [stderr]   Downloaded chksum-hash-core v0.0.0
[INFO] [stderr]   Downloaded chksum-sha2 v0.0.0
[INFO] [stderr]   Downloaded diesel_derives v2.2.0
[INFO] [stderr]   Downloaded wildmatch v2.3.4
[INFO] [stderr]   Downloaded salvo-cors v0.69.0
[INFO] [stderr]   Downloaded salvo-oapi v0.69.0
[INFO] [stderr]   Downloaded serde_with v3.8.1
[INFO] [stderr]   Downloaded serde_with_macros v3.8.1
[INFO] [stderr]   Downloaded ulid v1.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8fd5d3e667cf2689fcb27a4b2b55cec83cb650afd83c333ba6ddc5f67b277651
[INFO] running `Command { std: "docker" "start" "-a" "8fd5d3e667cf2689fcb27a4b2b55cec83cb650afd83c333ba6ddc5f67b277651", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8fd5d3e667cf2689fcb27a4b2b55cec83cb650afd83c333ba6ddc5f67b277651", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fd5d3e667cf2689fcb27a4b2b55cec83cb650afd83c333ba6ddc5f67b277651", kill_on_drop: false }`
[INFO] [stdout] 8fd5d3e667cf2689fcb27a4b2b55cec83cb650afd83c333ba6ddc5f67b277651
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1f376cdfce2fbf9448d0a2ad6278d746564b4dfdaacad2619d03f211948a8851
[INFO] running `Command { std: "docker" "start" "-a" "1f376cdfce2fbf9448d0a2ad6278d746564b4dfdaacad2619d03f211948a8851", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.84
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling jobserver v0.1.31
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking chksum-hash-core v0.0.0
[INFO] [stderr]    Compiling cc v1.0.98
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking http-body v1.0.0
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking miniz_oxide v0.7.3
[INFO] [stderr]    Compiling zstd-sys v2.0.10+zstd.1.5.6
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking num-bigint v0.4.5
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling zstd-safe v7.1.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]    Compiling salvo-serde-util v0.69.0
[INFO] [stderr]     Checking http-body-util v0.1.1
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]     Checking tokio v1.38.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling async-trait v0.1.80
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling mime-infer v3.0.0
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]     Checking rustls-pki-types v1.7.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]    Compiling enumflags2_derive v0.7.9
[INFO] [stderr]     Checking brotli-decompressor v4.0.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking fastrand v2.1.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking xml-rs v0.8.20
[INFO] [stderr]    Compiling darling_core v0.20.9
[INFO] [stderr]     Checking brotli v6.0.0
[INFO] [stderr]     Checking enumflags2 v0.7.9
[INFO] [stderr]     Checking headers v0.4.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking sync_wrapper v1.0.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking chksum-core v0.0.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]     Checking either v1.12.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]    Compiling darling_macro v0.20.9
[INFO] [stderr]    Compiling rustls v0.23.8
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling darling v0.20.9
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]     Checking rustls-webpki v0.102.4
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]     Checking winnow v0.6.9
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling pest v2.7.10
[INFO] [stderr]    Compiling toml_datetime v0.6.6
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking h2 v0.4.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking multimap v0.10.0
[INFO] [stderr]     Checking serde-xml-rs v0.6.0
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]     Checking serde_spanned v0.6.6
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking zstd v0.13.1
[INFO] [stderr]    Compiling toml_edit v0.22.13
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking hyper v1.3.1
[INFO] [stderr]    Compiling rust-embed-utils v8.4.0
[INFO] [stderr]    Compiling salvo_macros v0.69.0
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]     Checking hyper-util v0.1.5
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling rust-embed-impl v8.4.0
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking tokio-rustls v0.26.0
[INFO] [stderr]     Checking toml v0.8.13
[INFO] [stderr]    Compiling pest_meta v2.7.10
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking salvo_core v0.69.0
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking rustls-native-certs v0.7.0
[INFO] [stderr]    Compiling bigdecimal v0.4.3
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling pq-sys v0.6.0
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling rust_decimal v1.35.0
[INFO] [stderr]    Compiling platforms v3.4.0
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]    Compiling built v0.7.3
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.2
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]    Compiling dsl_auto_type v0.1.0
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling pest_generator v2.7.10
[INFO] [stderr]     Checking tungstenite v0.23.0
[INFO] [stderr]     Checking rust-embed v8.4.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking hyper-rustls v0.27.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking simple_asn1 v0.6.2
[INFO] [stderr]     Checking chksum-hash-sha2-224 v0.0.0
[INFO] [stderr]     Checking chksum-hash-sha2-384 v0.0.0
[INFO] [stderr]     Checking chksum-hash-sha2-512 v0.0.0
[INFO] [stderr]     Checking chksum-hash-sha2-256 v0.0.0
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking ulid v1.1.2
[INFO] [stderr]     Checking pem v3.0.4
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]     Checking bstr v1.9.1
[INFO] [stderr]     Checking bytemuck v1.16.0
[INFO] [stderr]     Checking xxhash-rust v0.8.10
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling typewit_proc_macros v1.8.1
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking str-buf v3.0.3
[INFO] [stderr]     Checking etag v4.0.0
[INFO] [stderr]     Checking typewit v1.9.0
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking globset v0.4.14
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking jsonwebtoken v9.3.0
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking r2d2 v0.8.10
[INFO] [stderr]     Checking ordered-multimap v0.6.0
[INFO] [stderr]    Compiling diesel_derives v2.2.0
[INFO] [stderr]    Compiling pest_derive v2.7.10
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking reqwest v0.12.4
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking tokio-tungstenite v0.23.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]    Compiling salvo-oapi-macros v0.69.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking chksum-hash-sha2-384 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha2-224 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha2-512 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha2-256 v0.0.1
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]     Checking inventory v0.3.15
[INFO] [stderr]     Checking path-slash v0.2.1
[INFO] [stderr]     Checking bitstream-io v2.3.0
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking match_cfg v0.1.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking salvo-serve-static v0.69.0
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking chksum-hash-sha2 v0.0.1
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking salvo-proxy v0.69.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking salvo-jwt-auth v0.69.0
[INFO] [stderr]     Checking salvo_extra v0.69.0
[INFO] [stderr]     Checking rust-ini v0.19.0
[INFO] [stderr]     Checking ignore v0.4.22
[INFO] [stderr]     Checking konst_kernel v0.3.9
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking salvo-cors v0.69.0
[INFO] [stderr]     Checking chksum-hash-sha2 v0.0.0
[INFO] [stderr]     Checking chksum-sha2-512 v0.0.0
[INFO] [stderr]     Checking chksum-sha2-256 v0.0.0
[INFO] [stderr]     Checking chksum-sha2-384 v0.0.0
[INFO] [stderr]     Checking chksum-sha2-224 v0.0.0
[INFO] [stderr]    Compiling enum-as-inner v0.6.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]    Compiling migrations_internals v2.2.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking tracing-serde v0.1.3
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling serde_with_macros v3.8.1
[INFO] [stderr]    Compiling palpo-identifiers-validation v0.0.1
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]     Checking chksum-hash-md5 v0.0.0
[INFO] [stderr]     Checking chksum-hash-md5 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha1 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha1 v0.0.0
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking sha1_smol v1.0.0
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking const_panic v0.2.8
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking inlinable_string v0.1.15
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]    Compiling blurhash v0.2.1
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling konst_proc_macros v0.3.0
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking pathdiff v0.2.1
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking blake2b_simd v1.0.2
[INFO] [stderr]     Checking konst v0.3.9
[INFO] [stderr]     Checking diesel v2.2.0
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking zune-jpeg v0.4.11
[INFO] [stderr]     Checking config v0.14.0
[INFO] [stderr]     Checking pear v0.2.9
[INFO] [stderr]     Checking ravif v0.11.5
[INFO] [stderr]     Checking salvo-oapi v0.69.0
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking image-webp v0.1.2
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking hickory-proto v0.24.1
[INFO] [stderr]     Checking textnonce v1.0.0
[INFO] [stderr]     Checking oauth2 v4.4.2
[INFO] [stderr]     Checking resolv-conf v0.7.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking serde_with v3.8.1
[INFO] [stderr]     Checking chksum-sha1 v0.0.0
[INFO] [stderr]     Checking chksum-hash v0.5.1
[INFO] [stderr]     Checking chksum-md5 v0.0.0
[INFO] [stderr]    Compiling palpo-macros v0.0.1
[INFO] [stderr]     Checking bcrypt v0.15.1
[INFO] [stderr]    Compiling migrations_macros v2.2.0
[INFO] [stderr]     Checking redis v0.25.4
[INFO] [stderr]     Checking chksum-sha2 v0.0.0
[INFO] [stderr]    Compiling strum_macros v0.26.2
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking sanitize-filename v0.5.0
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking serde-aux v4.5.0
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking salvo v0.69.0
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking cruet v0.14.0
[INFO] [stderr]     Checking wildmatch v2.3.4
[INFO] [stderr]     Checking strum v0.26.2
[INFO] [stderr]     Checking as_variant v1.2.0
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking hickory-resolver v0.24.1
[INFO] [stderr]     Checking image v0.25.1
[INFO] [stderr]     Checking chksum v0.3.0
[INFO] [stderr]     Checking rust-argon2 v2.1.0
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking fast32 v1.0.2
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]     Checking palpo-core v0.0.1
[INFO] [stderr]     Checking diesel_migrations v2.2.0
[INFO] [stderr]     Checking palpo v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `claims`
[INFO] [stdout]    --> src/env_vars.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     use claims::*;
[INFO] [stdout]     |         ^^^^^^ use of undeclared crate or module `claims`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |         assert_ok_eq!(list_parsed(TEST_VAR, i32::from_str), Vec::<i32>::new());
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         assert_ok_eq!(list_parsed(TEST_VAR, i32::from_str), Vec::<i32>::new());
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_err` in this scope
[INFO] [stdout]    --> src/env_vars.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let error = assert_err!(list_parsed(TEST_VAR, i32::from_str));
[INFO] [stdout]     |                     ^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         assert_ok_eq!(list_parsed(TEST_VAR, i32::from_str), vec![42, 1, -53]);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |         assert_ok_eq!(list_parsed(TEST_VAR, i32::from_str), vec![42]);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         assert_ok_eq!(list(TEST_VAR), Vec::<String>::new());
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         assert_ok_eq!(list(TEST_VAR), Vec::<String>::new());
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |         assert_ok_eq!(list(TEST_VAR), vec!["test", "foo", "bar"]);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         assert_ok_eq!(list(TEST_VAR), vec!["test"]);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_err` in this scope
[INFO] [stdout]    --> src/env_vars.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let error = assert_err!(required_var_parsed::<i32>(TEST_VAR));
[INFO] [stdout]     |                     ^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_err` in this scope
[INFO] [stdout]    --> src/env_vars.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let error = assert_err!(required_var_parsed::<i32>(TEST_VAR));
[INFO] [stdout]     |                     ^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         assert_ok_eq!(required_var_parsed::<i32>(TEST_VAR), 42);
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_none` in this scope
[INFO] [stdout]    --> src/env_vars.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         assert_none!(assert_ok!(var_parsed::<i32>(TEST_VAR)));
[INFO] [stdout]     |         ^^^^^^^^^^^ help: a macro with a similar name exists: `assert_ne`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_ne` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_err` in this scope
[INFO] [stdout]    --> src/env_vars.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let error = assert_err!(var_parsed::<i32>(TEST_VAR));
[INFO] [stdout]     |                     ^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_some_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |         assert_some_eq!(assert_ok!(var_parsed::<i32>(TEST_VAR)), 42);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_err` in this scope
[INFO] [stdout]    --> src/env_vars.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let error = assert_err!(required_var(TEST_VAR));
[INFO] [stdout]     |                     ^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/appservice/third_party.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult` and `json_ok`
[INFO] [stdout]  --> src/routing/appservice/third_party.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, json_ok, AuthArgs, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::presence::PresenceUpdate`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::presence::PresenceUpdate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult` and `json_ok`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, json_ok, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo` and `exts::*`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{exts::*, AuthArgs, AuthedInfo};
[INFO] [stdout]   |             ^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult` and `json_ok`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{empty_ok, json_ok, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToSchema`
[INFO] [stdout]  --> src/routing/client/account/password.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::oapi::ToSchema;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/routing/client/account/password.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::WhoamiResBody`
[INFO] [stdout]  --> src/routing/client/account/password.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::WhoamiResBody;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId`, `OwnedUserId`, and `UnixMillis`
[INFO] [stdout]   --> src/routing/client/account/password.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::{OwnedDeviceId, OwnedUserId, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppResult`
[INFO] [stdout]   --> src/routing/client/account/password.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{db, empty_ok, hoops, utils, AppResult, AuthArgs, EmptyResult, SESSION_ID_LENGTH};
[INFO] [stdout]    |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::ThirdPartyIdRemovalStatus`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::account::ThirdPartyIdRemovalStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::third_party::ThirdPartyIdentifier`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::core::third_party::ThirdPartyIdentifier;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedClientSecret` and `OwnedSessionId`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::{OwnedClientSecret, OwnedSessionId};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt` and `hoops`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{empty_ok, hoops, json_ok, AuthArgs, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::message::RoomMessageEventContent`
[INFO] [stdout]  --> src/routing/client/account/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::events::room::message::RoomMessageEventContent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId` and `OwnedUserId`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::{OwnedDeviceId, OwnedUserId};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `db`, and `empty_ok`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, exts::*, hoops, json_ok, utils, AppError, AppResult, AuthArgs, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^  ^^^^^^^^                                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/admin.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/admin.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `exts::*`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/admin.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, exts::*, json_ok, AuthArgs, AuthedInfo, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^            ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/appservice.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `EmptyObject`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/appservice.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, DepotExt, EmptyObject, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^  ^^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/auth.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `exts::*`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/auth.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, exts::*, json_ok, AuthArgs, AuthedInfo, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^            ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/routing/client/device.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::client::device`
[INFO] [stdout]   --> src/routing/client/device.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use palpo_core::client::device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/device.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/routing/client/device.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IdentityServerInfo`, `LoginType`, and `RegistrationKind`
[INFO] [stdout]   --> src/routing/client/device.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::client::account::{IdentityServerInfo, LoginType, RegistrationKind};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]   --> src/routing/client/device.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedUserId`, `UserId`, and `push`
[INFO] [stdout]   --> src/routing/client/device.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::{push, OwnedDeviceId, OwnedUserId, UserId};
[INFO] [stdout]    |                   ^^^^                 ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult` and `routing`
[INFO] [stdout]   --> src/routing/client/device.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     db, empty_ok, json_ok, routing, utils, AppResult, AuthArgs, DepotExt, EmptyResult, JsonResult, SESSION_ID_LENGTH,
[INFO] [stdout]    |                            ^^^^^^^         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/directory/alias.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, and `hoops`
[INFO] [stdout]   --> src/routing/client/directory/alias.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 |     db, diesel_exists, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, EmptyResult, JsonResult,
[INFO] [stdout]    |                                  ^^^^^                     ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/directory/room.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/directory/room.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::room::{self, Visibility};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthedInfo`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, diesel_exists, AuthArgs, AuthedInfo};
[INFO] [stdout]    |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `DepotExt`, and `MatrixError`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{empty_ok, json_ok, AppError, DepotExt, EmptyResult, JsonResult, MatrixError};
[INFO] [stdout]    |                                ^^^^^^^^  ^^^^^^^^                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/directory/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/directory/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `JsonResult`, `empty_ok`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/directory/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{empty_ok, hoops, json_ok, DepotExt, JsonResult};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/key/device_signing.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]  --> src/routing/client/key/device_signing.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `JsonResult`, `MatrixError`, `db`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/key/device_signing.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]   |     ^^            ^^^^^  ^^^^^^^         ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 9 |     MatrixError, SESSION_ID_LENGTH,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/key/signature.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]  --> src/routing/client/key/signature.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^  ^^^^^                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `MatrixError`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^  ^^^^^^^^  ^^^^^                     ^^^^^^^^^^                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/login.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `EmptyObject`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/login.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{empty_ok, hoops, json_ok, AuthArgs, DepotExt, EmptyObject, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^  ^^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/presence.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::device::DeleteDeviceReqBody`
[INFO] [stdout]   --> src/routing/client/presence.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::client::device::DeleteDeviceReqBody;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::register::*`
[INFO] [stdout]   --> src/routing/client/presence.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::client::register::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthData`, `AuthFlow`, `AuthType`, and `UiaaInfo`
[INFO] [stdout]   --> src/routing/client/presence.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::message::RoomMessageEventContent`
[INFO] [stdout]   --> src/routing/client/presence.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::events::room::message::RoomMessageEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::GlobalAccountDataEventType`
[INFO] [stdout]   --> src/routing/client/presence.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::events::GlobalAccountDataEventType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]   --> src/routing/client/presence.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::UnixMillis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId`, `UserId`, and `push`
[INFO] [stdout]   --> src/routing/client/presence.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::{push, OwnedDeviceId, OwnedUserId, UserId};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^^^^               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `config`, `db`, `routing`, and `utils`
[INFO] [stdout]   --> src/routing/client/presence.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     config, db, empty_ok, hoops, json_ok, routing, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt,
[INFO] [stdout]    |     ^^^^^^  ^^                            ^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value`
[INFO] [stdout]  --> src/routing/client/profile.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::value::to_raw_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/profile.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StateEventType` and `TimelineEventType`
[INFO] [stdout]  --> src/routing/client/profile.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::events::{StateEventType, TimelineEventType};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::presence::PresenceState`
[INFO] [stdout]  --> src/routing/client/profile.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::presence::PresenceState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OwnedServerName`
[INFO] [stdout]   --> src/routing/client/profile.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::{identifiers::*, OwnedServerName};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NewDbProfile`
[INFO] [stdout]   --> src/routing/client/profile.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::user::{DbProfile, NewDbProfile};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `MatrixError`, and `PduBuilder`
[INFO] [stdout]   --> src/routing/client/profile.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |                                   ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 16 |     MatrixError, PduBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/routing/client/push_rule.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PushRulesEventContent`
[INFO] [stdout]   --> src/routing/client/push_rule.rs:16:55
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::events::push_rules::{PushRulesEvent, PushRulesEventContent};
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult` and `db`
[INFO] [stdout]   --> src/routing/client/push_rule.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::{db, empty_ok, hoops, json_ok, AppResult, DepotExt, EmptyResult, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/routing/client/pusher.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/pusher.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/routing/client/pusher.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IdentityServerInfo`, `LoginType`, and `RegistrationKind`
[INFO] [stdout]   --> src/routing/client/pusher.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::client::account::{IdentityServerInfo, LoginType, RegistrationKind};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::register::*`
[INFO] [stdout]   --> src/routing/client/pusher.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::register::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthData`, `AuthFlow`, `AuthType`, and `UiaaInfo`
[INFO] [stdout]   --> src/routing/client/pusher.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::message::RoomMessageEventContent`
[INFO] [stdout]   --> src/routing/client/pusher.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::events::room::message::RoomMessageEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::identifiers::*`
[INFO] [stdout]   --> src/routing/client/pusher.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::identifiers::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId`, `OwnedUserId`, `UserId`, and `push`
[INFO] [stdout]   --> src/routing/client/pusher.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::{push, OwnedDeviceId, OwnedUserId, UserId};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthArgs`, `AuthedInfo`, `DEVICE_ID_LENGTH`, `RANDOM_USER_ID_LENGTH`, `SESSION_ID_LENGTH`, `TOKEN_LENGTH`, `config`, `db`, and `utils`
[INFO] [stdout]   --> src/routing/client/pusher.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     config, db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult,
[INFO] [stdout]    |     ^^^^^^  ^^                            ^^^^^            ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 25 |     JsonResult, DEVICE_ID_LENGTH, RANDOM_USER_ID_LENGTH, SESSION_ID_LENGTH, TOKEN_LENGTH,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_ok_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |         assert_ok_eq!(required_var(TEST_VAR), "test");
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: a macro with a similar name exists: `assert_eq`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_eq` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/routing/client/register.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/register.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/routing/client/register.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]   --> src/routing/client/register.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `config`, `json_ok`, and `routing`
[INFO] [stdout]   --> src/routing/client/register.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     config, db, diesel_exists, empty_ok, exts::*, hoops, json_ok, routing, utils, AppError, AuthArgs, AuthedInfo,
[INFO] [stdout]    |     ^^^^^^                                               ^^^^^^^  ^^^^^^^                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/client/room/event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::client::room::ReportContentReqArgs`
[INFO] [stdout]  --> src/routing/client/room/event.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use palpo_core::client::room::ReportContentReqArgs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoomEventFilter`
[INFO] [stdout]  --> src/routing/client/room/event.rs:9:52
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::filter::{LazyLoadOptions, RoomEventFilter};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CreateTypingEventReqBody` and `Typing`
[INFO] [stdout]   --> src/routing/client/room/event.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::client::typing::{CreateTypingEventReqBody, Typing};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room/event.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `db`, `hoops`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/event.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^  ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/client/room/membership.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/room/membership.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, and `db`
[INFO] [stdout]   --> src/routing/client/room/membership.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     db, empty_ok, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^                               ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/routing/client/room/message.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `db`, `empty_ok`, `hoops`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/message.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, exts::*, hoops, json_ok, utils, AppError, AppResult, AuthArgs, JsonResult, MatrixError, PduBuilder,
[INFO] [stdout]    |     ^^  ^^^^^^^^           ^^^^^           ^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/room/relation.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]  --> src/routing/client/room/relation.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, empty_ok, hoops, json_ok, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |             ^^            ^^^^^           ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/routing/client/room/state.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashSet};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/client/room/state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value`
[INFO] [stdout]  --> src/routing/client/room/state.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde_json::value::to_raw_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimelineEventType`
[INFO] [stdout]   --> src/routing/client/room/state.rs:18:91
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::events::{AnyStateEventContent, RoomAccountDataEventType, StateEventType, TimelineEventType};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `PduBuilder`, `db`, `hoops`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/state.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^            ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 25 |     MatrixError, PduBuilder,
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::PathParam`
[INFO] [stdout]  --> src/routing/client/room/tag.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::oapi::extract::PathParam;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/room/tag.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `MatrixError`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/client/room/tag.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 15 |     MatrixError,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::extract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::OwnedRoomId`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::OwnedRoomId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `MatrixError`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]   --> src/routing/client/room/thread.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^  ^^^^^^^^  ^^^^^           ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `db`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^                            ^^^^^            ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/room_key.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::search::SearchReqArgs`
[INFO] [stdout]   --> src/routing/client/room_key.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::search::SearchReqArgs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room_key.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, and `AuthedInfo`
[INFO] [stdout]   --> src/routing/client/room_key.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |                                   ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/routing/client/session.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]  --> src/routing/client/session.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::{AuthData, UserIdentifier};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, and `db`
[INFO] [stdout]   --> src/routing/client/session.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^                                   ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/third_party.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, and `hoops`
[INFO] [stdout]  --> src/routing/client/third_party.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^                     ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `JsonResult`, `db`, `hoops`, and `json_ok`
[INFO] [stdout]   --> src/routing/client/to_device.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^  ^^^^^^^  ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/routing/client/user/data.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value as to_raw_json_value`
[INFO] [stdout]  --> src/routing/client/user/data.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde_json::value::to_raw_value as to_raw_json_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SetGlobalDataReqBody`
[INFO] [stdout]  --> src/routing/client/user/data.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::data::{GlobalDataResBody, SetGlobalDataReqBody};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/data.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawJsonValue`
[INFO] [stdout]   --> src/routing/client/user/data.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::{RawJson, RawJsonValue};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/client/user/data.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/filter.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/filter.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]  --> src/routing/client/user/filter.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^  ^^^^^           ^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value as to_raw_json_value`
[INFO] [stdout]  --> src/routing/client/user/room.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::value::to_raw_value as to_raw_json_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/room.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/room.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnyRoomAccountDataEventContent`
[INFO] [stdout]   --> src/routing/client/user/room.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::events::{AnyRoomAccountDataEvent, AnyRoomAccountDataEventContent};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawJsonValue`
[INFO] [stdout]   --> src/routing/client/user/room.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::{RawJson, RawJsonValue};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/client/user/room.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{db, empty_ok, hoops, json_ok, AppResult, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^            ^^^^^           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user_directory.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::search::SearchReqArgs`
[INFO] [stdout]  --> src/routing/client/user_directory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::search::SearchReqArgs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user_directory.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo` and `empty_ok`
[INFO] [stdout]   --> src/routing/client/user_directory.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult};
[INFO] [stdout]    |                 ^^^^^^^^                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/voip.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/voip.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo` and `empty_ok`
[INFO] [stdout]   --> src/routing/client/voip.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult};
[INFO] [stdout]    |             ^^^^^^^^                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::identifiers::*`
[INFO] [stdout]  --> src/routing/client/media.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::identifiers::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `MXC_LENGTH`, and `join_path`
[INFO] [stdout]   --> src/routing/client/media.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     db, empty_ok, hoops, join_path, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult,
[INFO] [stdout]    |                          ^^^^^^^^^                                                 ^^^^^^^^^^
[INFO] [stdout] 15 |     JsonResult, MatrixError, MXC_LENGTH,
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixMillis`
[INFO] [stdout]   --> src/routing/client/mod.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | use palpo_core::{UnixMillis, UserId};
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> src/routing/client/mod.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_filtered_public_rooms` and `get_public_rooms`
[INFO] [stdout]   --> src/routing/client/mod.rs:51:36
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::routing::client::room::{get_filtered_public_rooms, get_public_rooms};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, and `db`
[INFO] [stdout]   --> src/routing/client/mod.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^                                      ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/routing/federation/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/backfill.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]  --> src/routing/federation/backfill.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^  ^^^^^           ^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/event.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/event.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^                     ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/federation/key.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/key.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CanonicalJsonValue`
[INFO] [stdout]   --> src/routing/federation/key.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::{Base64, CanonicalJsonValue, RawJson};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `DepotExt`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/key.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^           ^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/membership.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::RawJson`
[INFO] [stdout]  --> src/routing/federation/membership.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use palpo_core::RawJson;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/membership.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoomUserReqArgs`
[INFO] [stdout]   --> src/routing/federation/membership.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::http::{RoomEventReqArgs, RoomUserReqArgs};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/membership.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     db, empty_ok, hoops, json_ok, utils, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/openid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/federation/openid.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, and `json_ok`
[INFO] [stdout]  --> src/routing/federation/openid.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, json_ok, AuthArgs, AuthedInfo, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^            ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/federation/query.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/query.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::federation::event::RoomStateResBody`
[INFO] [stdout]   --> src/routing/federation/query.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::federation::event::RoomStateResBody;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::user::DbProfile`
[INFO] [stdout]   --> src/routing/federation/query.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::user::DbProfile;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `DepotExt`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/query.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/room.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/room.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/space.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/federation/space.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/threepid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/federation/threepid.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/transaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::federation::directory::RemoteServerKeysReqArgs`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::federation::directory::RemoteServerKeysReqArgs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `db`, `empty_ok`, and `utils`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::{db, empty_ok, json_ok, utils, AppError, AuthArgs, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^  ^^^^^^^^           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/user.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `empty_ok`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/user.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{db, empty_ok, hoops, json_ok, AppError, AppResult, DepotExt, JsonResult};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthedInfo`
[INFO] [stdout]   --> src/routing/federation/user.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AuthArgs, AuthedInfo};
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `DepotExt`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/mod.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::{empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^                     ^^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/routing/identity/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/pubkey.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/pubkey.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/threepid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/threepid.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/validate/email.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/validate/email.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/validate/msisdn.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/validate/msisdn.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/validate/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `JsonResult`, `empty_ok`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/validate/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{empty_ok, hoops, json_ok, DepotExt, JsonResult};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthArgs` and `AuthedInfo`
[INFO] [stdout]  --> src/routing/identity/validate/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{AuthArgs, AuthedInfo};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::key::UploadSignaturesResBody`
[INFO] [stdout]   --> src/routing/identity/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::key::UploadSignaturesResBody;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::exts::*`
[INFO] [stdout]   --> src/routing/identity/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::exts::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]   --> src/routing/identity/mod.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/routing/push/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::exts::*`
[INFO] [stdout]   --> src/routing/push/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::exts::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `db`, `hoops`, and `json_ok`
[INFO] [stdout]   --> src/routing/push/mod.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |             ^^            ^^^^^  ^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/routing/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName` and `self`
[INFO] [stdout]  --> src/routing/mod.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use salvo::http::header::{self, HeaderName};
[INFO] [stdout]   |                           ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Method` and `StatusCode`
[INFO] [stdout]   --> src/routing/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use salvo::http::{Method, StatusCode};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt` and `JsonResult`
[INFO] [stdout]   --> src/routing/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::{AppResult, DepotExt, JsonResult};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthedInfo`
[INFO] [stdout]   --> src/routing/mod.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::{AuthArgs, AuthedInfo};
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db`
[INFO] [stdout]   --> src/bl/directory.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/bl/event/handler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Base64`
[INFO] [stdout]   --> src/bl/event/handler.rs:25:26
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::serde::{Base64, CanonicalJsonObject, CanonicalJsonValue, RawJsonValue};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::events`
[INFO] [stdout]   --> src/bl/event/pdu.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::schema::events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `db`
[INFO] [stdout]   --> src/bl/event/pdu.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]  --> src/bl/membership.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use diesel::PgConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::power_levels::RoomPowerLevelsEventContent`
[INFO] [stdout]   --> src/bl/membership.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::events::room::power_levels::RoomPowerLevelsEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/bl/room/lazy_loading.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{db, diesel_exists, AppError, AppResult};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/bl/room/pdu_metadata.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bl/room/pdu_metadata.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]  --> src/bl/room/pdu_metadata.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::UnixMillis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::u64_to_i64`
[INFO] [stdout]   --> src/bl/room/pdu_metadata.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::utils::u64_to_i64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `MatrixError`, and `utils`
[INFO] [stdout]   --> src/bl/room/pdu_metadata.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{db, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/room/receipt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/bl/room/receipt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CanonicalJsonObject`
[INFO] [stdout]   --> src/bl/room/receipt.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::serde::{CanonicalJsonObject, RawJson};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `utils`
[INFO] [stdout]   --> src/bl/room/receipt.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, utils, AppError, AppResult};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::*`
[INFO] [stdout]  --> src/bl/room/search.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::schema::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PduEvent` and `utils`
[INFO] [stdout]  --> src/bl/room/search.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{utils, AppResult, PduEvent};
[INFO] [stdout]   |             ^^^^^             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/bl/room/space.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]  --> src/bl/room/space.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HierarchyReqArgs`
[INFO] [stdout]   --> src/bl/room/space.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |         client::space::{HierarchyReqArgs, HierarchyResBody, SpaceHierarchyRoomsChunk},
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db`
[INFO] [stdout]   --> src/bl/room/space.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]  --> src/bl/room/state/diff.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lru_cache::LruCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/room/state/diff.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::*`
[INFO] [stdout]   --> src/bl/room/state/diff.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::schema::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `room`
[INFO] [stdout]   --> src/bl/room/state/diff.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     room,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/bl/room/state/diff.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{db, utils, AppError, AppResult};
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/bl/room/state/field.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{db, AppError, AppResult};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/bl/room/state/frame.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::OwnedEventId`
[INFO] [stdout]  --> src/bl/room/state/frame.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use palpo_core::OwnedEventId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::error`
[INFO] [stdout]  --> src/bl/room/state/frame.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedServerName`, `OwnedUserId`, `ServerName`, and `UserId`
[INFO] [stdout]   --> src/bl/room/state/frame.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::{EventId, OwnedServerName, OwnedUserId, RoomId, ServerName, UserId};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^  ^^^^^^^^^^^          ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::event::PduEvent`
[INFO] [stdout]   --> src/bl/room/state/frame.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::event::PduEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]  --> src/bl/room/state/point.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use lru_cache::LruCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::StateEventType`
[INFO] [stdout]  --> src/bl/room/state/point.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::events::StateEventType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::event::PduEvent`
[INFO] [stdout]  --> src/bl/room/state/point.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::event::PduEvent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/bl/room/state/point.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{db, AppError, AppResult};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/room/timeline.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::is_aarch64_feature_detected`
[INFO] [stdout]  --> src/bl/room/timeline.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::arch::is_aarch64_feature_detected;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/bl/room/timeline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash_map`
[INFO] [stdout]  --> src/bl/room/timeline.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{hash_map, BTreeMap, HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> src/bl/room/timeline.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]  --> src/bl/room/timeline.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lru_cache::LruCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/bl/room/timeline.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::MutexGuard`
[INFO] [stdout]   --> src/bl/room/timeline.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::MutexGuard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Base64`
[INFO] [stdout]   --> src/bl/room/timeline.rs:29:46
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::core::serde::{to_canonical_value, Base64, CanonicalJsonObject, CanonicalJsonValue, RawJsonValue};
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DbEvent`
[INFO] [stdout]   --> src/bl/room/timeline.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::event::{DbEvent, DbEventData, NewDbEvent};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/bl/room/timeline.rs:437:8
[INFO] [stdout]     |
[INFO] [stdout] 437 |     Ok((()))
[INFO] [stdout]     |        ^  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 437 -     Ok((()))
[INFO] [stdout] 437 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/bl/room/typing.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnceCell`
[INFO] [stdout]  --> src/bl/room/typing.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use once_cell::sync::{Lazy, OnceCell};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]  --> src/bl/room/typing.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ulid::Ulid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `db` and `utils`
[INFO] [stdout]   --> src/bl/room/typing.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{db, utils, AppError, AppResult};
[INFO] [stdout]    |             ^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/room/user.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::AnyStrippedStateEvent`
[INFO] [stdout]  --> src/bl/room/user.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::events::AnyStrippedStateEvent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils`
[INFO] [stdout]   --> src/bl/room/user.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{db, utils, AppResult, JsonValue};
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `utils`
[INFO] [stdout]   --> src/bl/room/thread.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{db, utils, AppError, AppResult, MatrixError, PduEvent};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `HashSet`
[INFO] [stdout]   --> src/bl/room/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bl/room/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `RwLock`
[INFO] [stdout]   --> src/bl/room/mod.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]   --> src/bl/room/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use once_cell::sync::Lazy;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/bl/room/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]   --> src/bl/room/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use salvo::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/bl/room/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::rooms::state_frame_id`
[INFO] [stdout]   --> src/bl/room/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::schema::rooms::state_frame_id;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `utils`
[INFO] [stdout]   --> src/bl/room/mod.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 | use crate::{db, diesel_exists, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |                                ^^^^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::stream::FuturesUnordered`
[INFO] [stdout]   --> src/bl/sending.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures_util::stream::FuturesUnordered;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/bl/sending.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, error, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::*`
[INFO] [stdout]   --> src/bl/sending.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::schema::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db`
[INFO] [stdout]   --> src/bl/sending.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::{db, utils, AppError, AppResult, PduEvent};
[INFO] [stdout]    |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bl/sending.rs:421:26
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let txn_id = (&*general_purpose::URL_SAFE_NO_PAD.encode(utils::hash_keys(
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 429 |             )));
[INFO] [stdout]     |               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 421 ~             let txn_id = &*general_purpose::URL_SAFE_NO_PAD.encode(utils::hash_keys(
[INFO] [stdout] 422 |                 &events
[INFO] [stdout] ...
[INFO] [stdout] 428 |                     .collect::<Vec<_>>(),
[INFO] [stdout] 429 ~             ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `db`
[INFO] [stdout]  --> src/bl/state.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]  --> src/bl/uiaa.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use diesel::PgConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `db`
[INFO] [stdout]   --> src/bl/uiaa.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{db, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/device.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/device.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_none` in this scope
[INFO] [stdout]    --> src/env_vars.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         assert_none!(assert_ok!(var(TEST_VAR)));
[INFO] [stdout]     |         ^^^^^^^^^^^ help: a macro with a similar name exists: `assert_ne`
[INFO] [stdout]    --> /rustc/39cb3386ddc6c71657418be28dbb3987eea4aa4b/library/core/src/macros/mod.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named macro `assert_ne` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/device.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/device.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `utils`
[INFO] [stdout]   --> src/bl/user/device.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue, MatrixError};
[INFO] [stdout]    |                                ^^^^^                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/password.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/password.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/profile.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/profile.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/profile.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/profile.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/access_token.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/access_token.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/access_token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/access_token.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/bl/user/filter.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError`, `diesel_exists`, and `utils`
[INFO] [stdout]   --> src/bl/user/data.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue, MatrixError};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^  ^^^^^                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/user/key.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bl/user/key.rs:2:53
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{hash_map, BTreeMap, HashMap, HashSet};
[INFO] [stdout]   |                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/bl/user/key.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::stream::FuturesUnordered`
[INFO] [stdout]  --> src/bl/user/key.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use futures_util::stream::FuturesUnordered;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::device::Device`
[INFO] [stdout]   --> src/bl/user/key.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::client::device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::federation`
[INFO] [stdout]   --> src/bl/user/key.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::core::federation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::events::sender`
[INFO] [stdout]   --> src/bl/user/key.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::schema::events::sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `utils`
[INFO] [stdout]   --> src/bl/user/key.rs:21:32
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue, MatrixError, BAD_QUERY_RATE_LIMITER};
[INFO] [stdout]    |                                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::BytesMut`
[INFO] [stdout]  --> src/bl/user/pusher.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bytes::BytesMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]  --> src/bl/user/pusher.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::PgConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoomKeyBackup`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:7:67
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::backup::{BackupAlgorithm, KeyBackupData, RoomKeyBackup};
[INFO] [stdout]   |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Authorization`, `Bearer`, `Credentials`, and `HeaderMapExt`
[INFO] [stdout]  --> src/bl/user/session.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |     authorization::{Authorization, Bearer, Credentials},
[INFO] [stdout]   |                     ^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 4 |     HeaderMapExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/session.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/session.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/session.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::serde::default_true`
[INFO] [stdout]   --> src/bl/user/session.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::default_true;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data::*`
[INFO] [stdout]   --> src/bl/user/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use data::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bl/user/presence.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/bl/user/presence.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]   --> src/bl/user/presence.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use diesel::PgConnection;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::stream::FuturesUnordered`
[INFO] [stdout]   --> src/bl/user/presence.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use futures_util::stream::FuturesUnordered;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/bl/user/presence.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::mpsc` and `time::sleep`
[INFO] [stdout]   --> src/bl/user/presence.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::{sync::mpsc, time::sleep};
[INFO] [stdout]    |             ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils`
[INFO] [stdout]   --> src/bl/user/presence.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chksum::md5::default`
[INFO] [stdout]   --> src/bl/user/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use chksum::md5::default;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/bl/user/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]   --> src/bl/user/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use salvo::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/bl/user/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::sync_events`
[INFO] [stdout]   --> src/bl/user/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use crate::core::client::sync_events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossSigningKey`, `DeviceKeys`, and `OneTimeKey`
[INFO] [stdout]   --> src/bl/user/mod.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 | use crate::core::encryption::{CrossSigningKey, DeviceKeys, OneTimeKey};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnyToDeviceEvent`
[INFO] [stdout]   --> src/bl/user/mod.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::core::events::{AnyStrippedStateEvent, AnyToDeviceEvent};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeviceKeyAlgorithm` and `OwnedServerName`
[INFO] [stdout]   --> src/bl/user/mod.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | use crate::core::{DeviceKeyAlgorithm, OwnedMxcUri, OwnedRoomId, OwnedServerName, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `utils`
[INFO] [stdout]   --> src/bl/user/mod.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::{db, diesel_exists, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |                                ^^^^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeSet`
[INFO] [stdout]  --> src/bl/sync.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{hash_map::Entry, BTreeMap, BTreeSet, HashMap, HashSet};
[INFO] [stdout]   |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/bl/sync.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bl/sync.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/bl/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use salvo::oapi::extract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> src/bl/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountDataV4`, `E2eeV4`, `ExtensionsV4`, `ReceiptsV4`, `SlidingOpV4`, `SyncEventsReqBodyV4`, `SyncEventsResBodyV4`, `SyncListV4`, `SyncOpV4`, `ToDeviceV4`, `TypingV4`, and `self`
[INFO] [stdout]   --> src/bl/sync.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     self, AccountDataV4, E2eeV4, EphemeralV3, ExtensionsV4, FilterV3, GlobalAccountDataV3, InviteStateV3,
[INFO] [stdout]    |     ^^^^  ^^^^^^^^^^^^^  ^^^^^^               ^^^^^^^^^^^^
[INFO] [stdout] 15 |     InvitedRoomV3, JoinedRoomV3, LeftRoomV3, PresenceV3, ReceiptsV4, RoomAccountDataV3, RoomSummaryV3, RoomsV3,
[INFO] [stdout]    |                                                          ^^^^^^^^^^
[INFO] [stdout] 16 |     SlidingOpV4, StateV3, SyncEventsReqArgsV3, SyncEventsReqBodyV4, SyncEventsResBodyV3, SyncEventsResBodyV4,
[INFO] [stdout]    |     ^^^^^^^^^^^                                ^^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     SyncListV4, SyncOpV4, TimelineV3, ToDeviceV3, ToDeviceV4, TypingV4, UnreadNotificationsCount,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^                          ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::UiaaInfo`
[INFO] [stdout]   --> src/bl/sync.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::client::uiaa::UiaaInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `presence::PresenceEvent`
[INFO] [stdout]   --> src/bl/sync.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::events::{presence::PresenceEvent, StateEventType, TimelineEventType};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]   --> src/bl/sync.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::UnixMillis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError`, `db`, and `exts::*`
[INFO] [stdout]   --> src/bl/sync.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::{db, exts::*, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^  ^^^^^^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]   --> src/bl/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use lru_cache::LruCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex as TokioMutex`
[INFO] [stdout]   --> src/bl/mod.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::sync::{broadcast, watch::Receiver, Mutex as TokioMutex, Semaphore};
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JsonResult`
[INFO] [stdout]   --> src/bl/mod.rs:49:38
[INFO] [stdout]    |
[INFO] [stdout] 49 | use crate::{db, AppError, AppResult, JsonResult, MatrixError};
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/config/db_config.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]   --> src/config/db_config.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::anyhow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `secrecy::SecretString`
[INFO] [stdout]   --> src/config/db_config.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use secrecy::SecretString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `required_var`, `var_parsed`, and `var`
[INFO] [stdout]   --> src/config/db_config.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::env_vars::{required_var, var, var_parsed};
[INFO] [stdout]    |                       ^^^^^^^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `true_value`
[INFO] [stdout]   --> src/config/db_config.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{false_value, true_value};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashMap`, and `HashSet`
[INFO] [stdout]  --> src/config/server_config.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/config/server_config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> src/config/server_config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{env, fmt};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::signatures::Ed25519KeyPair`
[INFO] [stdout]  --> src/config/server_config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::signatures::Ed25519KeyPair;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `var_parsed` and `var`
[INFO] [stdout]  --> src/config/server_config.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::env_vars::{required_var, var, var_parsed};
[INFO] [stdout]   |                                     ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `anyhow`
[INFO] [stdout]   --> src/config/server_config.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{anyhow, Context};
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientId` and `ClientSecret`
[INFO] [stdout]   --> src/config/server_config.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use oauth2::{ClientId, ClientSecret};
[INFO] [stdout]    |              ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::OwnedUserId`
[INFO] [stdout]   --> src/config/server_config.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use palpo_core::OwnedUserId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/db/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/db/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnectionManager`
[INFO] [stdout]  --> src/db/mod.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::r2d2::{self, ConnectionManager, CustomizeConnection, State};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExposeSecret` and `SecretString`
[INFO] [stdout]  --> src/db/mod.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use secrecy::{ExposeSecret, SecretString};
[INFO] [stdout]   |               ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/db/mod.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::config::{self, DbConfig};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/db/pool.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::config::{self, DbConfig};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Authorization` and `Bearer`
[INFO] [stdout]  --> src/hoops/mod.rs:1:43
[INFO] [stdout]   |
[INFO] [stdout] 1 | use salvo::http::headers::authorization::{Authorization, Bearer};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::http::headers::HeaderMapExt`
[INFO] [stdout]  --> src/hoops/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use salvo::http::headers::HeaderMapExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::http::StatusCode`
[INFO] [stdout]  --> src/hoops/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::http::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstDecoder`, `CookieFinder`, `HeaderFinder`, `JwtAuth`, and `QueryFinder`
[INFO] [stdout]  --> src/hoops/mod.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::jwt_auth::{ConstDecoder, CookieFinder, HeaderFinder, JwtAuth, QueryFinder};
[INFO] [stdout]   |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::serve_static::StaticDir`
[INFO] [stdout]  --> src/hoops/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use salvo::serve_static::StaticDir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DbUserDevice` and `DbUser`
[INFO] [stdout]   --> src/hoops/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::user::{DbUser, DbUserDevice};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthArgs`, `AuthedInfo`, and `exts::*`
[INFO] [stdout]   --> src/hoops/mod.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{exts::*, AuthArgs, AuthedInfo};
[INFO] [stdout]    |             ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JsonResult`
[INFO] [stdout]   --> src/hoops/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AppResult, JsonResult};
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bearer`, `ParseError`, and `Scribe`
[INFO] [stdout]   --> src/hoops/auth.rs:9:44
[INFO] [stdout]    |
[INFO] [stdout] 9  |             authorization::{Authorization, Bearer, Credentials},
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         HeaderValue, ParseError,
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 13 |     },
[INFO] [stdout] 14 |     Scribe,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/hoops/auth.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/hoops/auth.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tracing::{debug, error, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthScheme`, `OwnedDeviceId`, and `UserId`
[INFO] [stdout]   --> src/hoops/auth.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::{signatures, AuthScheme, OwnedDeviceId, OwnedServerName, UserId};
[INFO] [stdout]    |                               ^^^^^^^^^^  ^^^^^^^^^^^^^                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/hoops/auth.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::{db, AppError, AppResult, AuthArgs, AuthedInfo, MatrixError};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_some_eq` in this scope
[INFO] [stdout]    --> src/env_vars.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         assert_some_eq!(assert_ok!(var(TEST_VAR)), "test");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Config` and `Variant`
[INFO] [stdout]  --> src/utils/mod.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use argon2::{Config, Variant};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest`
[INFO] [stdout]  --> src/utils/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/utils/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     time::{SystemTime, UNIX_EPOCH},
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/utils/fs.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/utils/fs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::http::HeaderMap`
[INFO] [stdout]  --> src/utils/fs.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use salvo::http::HeaderMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textnonce::TextNonce`
[INFO] [stdout]   --> src/utils/fs.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use textnonce::TextNonce;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `join_path`
[INFO] [stdout]   --> src/utils/fs.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{join_path, AppError, AppResult};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/utils/hash.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/utils/hash.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `self`
[INFO] [stdout]  --> src/utils/hash.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/error.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error as StdError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName` and `self`
[INFO] [stdout]   --> src/main.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 | use salvo::http::header::{self, HeaderName};
[INFO] [stdout]    |                           ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/appservice/third_party.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult` and `json_ok`
[INFO] [stdout]  --> src/routing/appservice/third_party.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, json_ok, AuthArgs, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::presence::PresenceUpdate`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::presence::PresenceUpdate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult` and `json_ok`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, json_ok, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo` and `exts::*`
[INFO] [stdout]  --> src/routing/appservice/transaction.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{exts::*, AuthArgs, AuthedInfo};
[INFO] [stdout]   |             ^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult` and `json_ok`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{empty_ok, json_ok, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToSchema`
[INFO] [stdout]  --> src/routing/client/account/password.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::oapi::ToSchema;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/routing/client/account/password.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::WhoamiResBody`
[INFO] [stdout]  --> src/routing/client/account/password.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::WhoamiResBody;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId`, `OwnedUserId`, and `UnixMillis`
[INFO] [stdout]   --> src/routing/client/account/password.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::{OwnedDeviceId, OwnedUserId, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppResult`
[INFO] [stdout]   --> src/routing/client/account/password.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{db, empty_ok, hoops, utils, AppResult, AuthArgs, EmptyResult, SESSION_ID_LENGTH};
[INFO] [stdout]    |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::ThirdPartyIdRemovalStatus`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::account::ThirdPartyIdRemovalStatus;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::third_party::ThirdPartyIdentifier`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::core::third_party::ThirdPartyIdentifier;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedClientSecret` and `OwnedSessionId`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::{OwnedClientSecret, OwnedSessionId};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt` and `hoops`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{empty_ok, hoops, json_ok, AuthArgs, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::message::RoomMessageEventContent`
[INFO] [stdout]  --> src/routing/client/account/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::events::room::message::RoomMessageEventContent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId` and `OwnedUserId`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::{OwnedDeviceId, OwnedUserId};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `db`, and `empty_ok`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, exts::*, hoops, json_ok, utils, AppError, AppResult, AuthArgs, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^  ^^^^^^^^                                  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/admin.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/admin.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `exts::*`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/admin.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, exts::*, json_ok, AuthArgs, AuthedInfo, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^            ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/appservice.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `EmptyObject`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/appservice.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, DepotExt, EmptyObject, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^  ^^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/auth.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `exts::*`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/auth.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, exts::*, json_ok, AuthArgs, AuthedInfo, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^            ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/routing/client/device.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::client::device`
[INFO] [stdout]   --> src/routing/client/device.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use palpo_core::client::device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/device.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/routing/client/device.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IdentityServerInfo`, `LoginType`, and `RegistrationKind`
[INFO] [stdout]   --> src/routing/client/device.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::client::account::{IdentityServerInfo, LoginType, RegistrationKind};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]   --> src/routing/client/device.rs:20:33
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedUserId`, `UserId`, and `push`
[INFO] [stdout]   --> src/routing/client/device.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::{push, OwnedDeviceId, OwnedUserId, UserId};
[INFO] [stdout]    |                   ^^^^                 ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult` and `routing`
[INFO] [stdout]   --> src/routing/client/device.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     db, empty_ok, json_ok, routing, utils, AppResult, AuthArgs, DepotExt, EmptyResult, JsonResult, SESSION_ID_LENGTH,
[INFO] [stdout]    |                            ^^^^^^^         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use regex::Regex;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/directory/alias.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, and `hoops`
[INFO] [stdout]   --> src/routing/client/directory/alias.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 |     db, diesel_exists, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, EmptyResult, JsonResult,
[INFO] [stdout]    |                                  ^^^^^                     ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/directory/room.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/directory/room.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::room::{self, Visibility};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthedInfo`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, diesel_exists, AuthArgs, AuthedInfo};
[INFO] [stdout]    |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `DepotExt`, and `MatrixError`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:15:32
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{empty_ok, json_ok, AppError, DepotExt, EmptyResult, JsonResult, MatrixError};
[INFO] [stdout]    |                                ^^^^^^^^  ^^^^^^^^                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/directory/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/directory/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `JsonResult`, `empty_ok`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/directory/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{empty_ok, hoops, json_ok, DepotExt, JsonResult};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/key/device_signing.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]  --> src/routing/client/key/device_signing.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `JsonResult`, `MatrixError`, `db`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/key/device_signing.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]   |     ^^            ^^^^^  ^^^^^^^         ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 9 |     MatrixError, SESSION_ID_LENGTH,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/key/signature.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]  --> src/routing/client/key/signature.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^  ^^^^^                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `MatrixError`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^  ^^^^^^^^  ^^^^^                     ^^^^^^^^^^                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/login.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `EmptyObject`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/login.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{empty_ok, hoops, json_ok, AuthArgs, DepotExt, EmptyObject, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^  ^^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/presence.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::device::DeleteDeviceReqBody`
[INFO] [stdout]   --> src/routing/client/presence.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::client::device::DeleteDeviceReqBody;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::register::*`
[INFO] [stdout]   --> src/routing/client/presence.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::client::register::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthData`, `AuthFlow`, `AuthType`, and `UiaaInfo`
[INFO] [stdout]   --> src/routing/client/presence.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::message::RoomMessageEventContent`
[INFO] [stdout]   --> src/routing/client/presence.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::events::room::message::RoomMessageEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::GlobalAccountDataEventType`
[INFO] [stdout]   --> src/routing/client/presence.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::events::GlobalAccountDataEventType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]   --> src/routing/client/presence.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::UnixMillis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId`, `UserId`, and `push`
[INFO] [stdout]   --> src/routing/client/presence.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::{push, OwnedDeviceId, OwnedUserId, UserId};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^^^^               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `config`, `db`, `routing`, and `utils`
[INFO] [stdout]   --> src/routing/client/presence.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     config, db, empty_ok, hoops, json_ok, routing, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt,
[INFO] [stdout]    |     ^^^^^^  ^^                            ^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value`
[INFO] [stdout]  --> src/routing/client/profile.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::value::to_raw_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/profile.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StateEventType` and `TimelineEventType`
[INFO] [stdout]  --> src/routing/client/profile.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::events::{StateEventType, TimelineEventType};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::presence::PresenceState`
[INFO] [stdout]  --> src/routing/client/profile.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::presence::PresenceState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OwnedServerName`
[INFO] [stdout]   --> src/routing/client/profile.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::{identifiers::*, OwnedServerName};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NewDbProfile`
[INFO] [stdout]   --> src/routing/client/profile.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::user::{DbProfile, NewDbProfile};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `MatrixError`, and `PduBuilder`
[INFO] [stdout]   --> src/routing/client/profile.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |                                   ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 16 |     MatrixError, PduBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/routing/client/push_rule.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PushRulesEventContent`
[INFO] [stdout]   --> src/routing/client/push_rule.rs:16:55
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::core::events::push_rules::{PushRulesEvent, PushRulesEventContent};
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult` and `db`
[INFO] [stdout]   --> src/routing/client/push_rule.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::{db, empty_ok, hoops, json_ok, AppResult, DepotExt, EmptyResult, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/routing/client/pusher.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/pusher.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/routing/client/pusher.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IdentityServerInfo`, `LoginType`, and `RegistrationKind`
[INFO] [stdout]   --> src/routing/client/pusher.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::core::client::account::{IdentityServerInfo, LoginType, RegistrationKind};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::register::*`
[INFO] [stdout]   --> src/routing/client/pusher.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::register::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthData`, `AuthFlow`, `AuthType`, and `UiaaInfo`
[INFO] [stdout]   --> src/routing/client/pusher.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::message::RoomMessageEventContent`
[INFO] [stdout]   --> src/routing/client/pusher.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::events::room::message::RoomMessageEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::identifiers::*`
[INFO] [stdout]   --> src/routing/client/pusher.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::identifiers::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedDeviceId`, `OwnedUserId`, `UserId`, and `push`
[INFO] [stdout]   --> src/routing/client/pusher.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::{push, OwnedDeviceId, OwnedUserId, UserId};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthArgs`, `AuthedInfo`, `DEVICE_ID_LENGTH`, `RANDOM_USER_ID_LENGTH`, `SESSION_ID_LENGTH`, `TOKEN_LENGTH`, `config`, `db`, and `utils`
[INFO] [stdout]   --> src/routing/client/pusher.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     config, db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult,
[INFO] [stdout]    |     ^^^^^^  ^^                            ^^^^^            ^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 25 |     JsonResult, DEVICE_ID_LENGTH, RANDOM_USER_ID_LENGTH, SESSION_ID_LENGTH, TOKEN_LENGTH,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/routing/client/register.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/routing/client/register.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/routing/client/register.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]   --> src/routing/client/register.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::uiaa::{AuthData, AuthFlow, AuthType, UiaaInfo};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `config`, `json_ok`, and `routing`
[INFO] [stdout]   --> src/routing/client/register.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     config, db, diesel_exists, empty_ok, exts::*, hoops, json_ok, routing, utils, AppError, AuthArgs, AuthedInfo,
[INFO] [stdout]    |     ^^^^^^                                               ^^^^^^^  ^^^^^^^                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/client/room/event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::client::room::ReportContentReqArgs`
[INFO] [stdout]  --> src/routing/client/room/event.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use palpo_core::client::room::ReportContentReqArgs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoomEventFilter`
[INFO] [stdout]  --> src/routing/client/room/event.rs:9:52
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::filter::{LazyLoadOptions, RoomEventFilter};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CreateTypingEventReqBody` and `Typing`
[INFO] [stdout]   --> src/routing/client/room/event.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::client::typing::{CreateTypingEventReqBody, Typing};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room/event.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `db`, `hoops`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/event.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^  ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/client/room/membership.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/room/membership.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, and `db`
[INFO] [stdout]   --> src/routing/client/room/membership.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     db, empty_ok, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^                               ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/routing/client/room/message.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `db`, `empty_ok`, `hoops`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/message.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, exts::*, hoops, json_ok, utils, AppError, AppResult, AuthArgs, JsonResult, MatrixError, PduBuilder,
[INFO] [stdout]    |     ^^  ^^^^^^^^           ^^^^^           ^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/room/relation.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]  --> src/routing/client/room/relation.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, empty_ok, hoops, json_ok, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |             ^^            ^^^^^           ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/routing/client/room/state.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashSet};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/client/room/state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value`
[INFO] [stdout]  --> src/routing/client/room/state.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde_json::value::to_raw_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimelineEventType`
[INFO] [stdout]   --> src/routing/client/room/state.rs:18:91
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::events::{AnyStateEventContent, RoomAccountDataEventType, StateEventType, TimelineEventType};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `PduBuilder`, `db`, `hoops`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/state.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^            ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 25 |     MatrixError, PduBuilder,
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::PathParam`
[INFO] [stdout]  --> src/routing/client/room/tag.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::oapi::extract::PathParam;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/room/tag.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `MatrixError`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/client/room/tag.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 15 |     MatrixError,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::extract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::OwnedRoomId`
[INFO] [stdout]  --> src/routing/client/room/thread.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::OwnedRoomId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `MatrixError`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]   --> src/routing/client/room/thread.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^  ^^^^^^^^  ^^^^^           ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `db`, and `utils`
[INFO] [stdout]   --> src/routing/client/room/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^                            ^^^^^            ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/room_key.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::search::SearchReqArgs`
[INFO] [stdout]   --> src/routing/client/room_key.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::search::SearchReqArgs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/room_key.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, and `AuthedInfo`
[INFO] [stdout]   --> src/routing/client/room_key.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |                                   ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/routing/client/session.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthData`
[INFO] [stdout]  --> src/routing/client/session.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::{AuthData, UserIdentifier};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, and `db`
[INFO] [stdout]   --> src/routing/client/session.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     db, empty_ok, hoops, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^                                   ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/third_party.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, and `hoops`
[INFO] [stdout]  --> src/routing/client/third_party.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^                     ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `JsonResult`, `db`, `hoops`, and `json_ok`
[INFO] [stdout]   --> src/routing/client/to_device.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^  ^^^^^^^  ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]  --> src/routing/client/user/data.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value as to_raw_json_value`
[INFO] [stdout]  --> src/routing/client/user/data.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde_json::value::to_raw_value as to_raw_json_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SetGlobalDataReqBody`
[INFO] [stdout]  --> src/routing/client/user/data.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::data::{GlobalDataResBody, SetGlobalDataReqBody};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/data.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawJsonValue`
[INFO] [stdout]   --> src/routing/client/user/data.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::{RawJson, RawJsonValue};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AppResult`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/client/user/data.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^  ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/filter.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/filter.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]  --> src/routing/client/user/filter.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^  ^^^^^           ^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value as to_raw_json_value`
[INFO] [stdout]  --> src/routing/client/user/room.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::value::to_raw_value as to_raw_json_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user/room.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/room.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnyRoomAccountDataEventContent`
[INFO] [stdout]   --> src/routing/client/user/room.rs:10:52
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::events::{AnyRoomAccountDataEvent, AnyRoomAccountDataEventContent};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RawJsonValue`
[INFO] [stdout]   --> src/routing/client/user/room.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::{RawJson, RawJsonValue};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/client/user/room.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{db, empty_ok, hoops, json_ok, AppResult, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^            ^^^^^           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/user_directory.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::search::SearchReqArgs`
[INFO] [stdout]  --> src/routing/client/user_directory.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::search::SearchReqArgs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/client/user_directory.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo` and `empty_ok`
[INFO] [stdout]   --> src/routing/client/user_directory.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult};
[INFO] [stdout]    |                 ^^^^^^^^                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/client/voip.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/voip.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo` and `empty_ok`
[INFO] [stdout]   --> src/routing/client/voip.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, JsonResult};
[INFO] [stdout]    |             ^^^^^^^^                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::identifiers::*`
[INFO] [stdout]  --> src/routing/client/media.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::identifiers::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `MXC_LENGTH`, and `join_path`
[INFO] [stdout]   --> src/routing/client/media.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     db, empty_ok, hoops, join_path, json_ok, utils, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult,
[INFO] [stdout]    |                          ^^^^^^^^^                                                 ^^^^^^^^^^
[INFO] [stdout] 15 |     JsonResult, MatrixError, MXC_LENGTH,
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixMillis`
[INFO] [stdout]   --> src/routing/client/mod.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 | use palpo_core::{UnixMillis, UserId};
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> src/routing/client/mod.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]   --> src/routing/client/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/client/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_filtered_public_rooms` and `get_public_rooms`
[INFO] [stdout]   --> src/routing/client/mod.rs:51:36
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::routing::client::room::{get_filtered_public_rooms, get_public_rooms};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, and `db`
[INFO] [stdout]   --> src/routing/client/mod.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^                                      ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/routing/federation/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/backfill.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `db`, `empty_ok`, and `hoops`
[INFO] [stdout]  --> src/routing/federation/backfill.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^  ^^^^^           ^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/event.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/event.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     db, empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^                     ^^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/federation/key.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/key.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CanonicalJsonValue`
[INFO] [stdout]   --> src/routing/federation/key.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::{Base64, CanonicalJsonValue, RawJson};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `DepotExt`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/key.rs:14:23
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^           ^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/membership.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::RawJson`
[INFO] [stdout]  --> src/routing/federation/membership.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use palpo_core::RawJson;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/membership.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoomUserReqArgs`
[INFO] [stdout]   --> src/routing/federation/membership.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::http::{RoomEventReqArgs, RoomUserReqArgs};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/membership.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     db, empty_ok, hoops, json_ok, utils, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult,
[INFO] [stdout]    |     ^^            ^^^^^                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/openid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/federation/openid.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, and `json_ok`
[INFO] [stdout]  --> src/routing/federation/openid.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{empty_ok, json_ok, AuthArgs, AuthedInfo, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^^^            ^^^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::account::IdentityServerInfo`
[INFO] [stdout]  --> src/routing/federation/query.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::account::IdentityServerInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/query.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::federation::event::RoomStateResBody`
[INFO] [stdout]   --> src/routing/federation/query.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::federation::event::RoomStateResBody;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::user::DbProfile`
[INFO] [stdout]   --> src/routing/federation/query.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::user::DbProfile;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `DepotExt`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/query.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/room.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `AuthedInfo`, `db`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/room.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     db, empty_ok, hoops, json_ok, AppError, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult, MatrixError,
[INFO] [stdout]    |     ^^            ^^^^^           ^^^^^^^^            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/space.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/federation/space.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/threepid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/federation/threepid.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/routing/federation/transaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::federation::directory::RemoteServerKeysReqArgs`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::federation::directory::RemoteServerKeysReqArgs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `db`, `empty_ok`, and `utils`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::{db, empty_ok, json_ok, utils, AppError, AuthArgs, DepotExt, JsonResult, MatrixError};
[INFO] [stdout]    |             ^^  ^^^^^^^^           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/federation/user.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `empty_ok`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/user.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{db, empty_ok, hoops, json_ok, AppError, AppResult, DepotExt, JsonResult};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthedInfo`
[INFO] [stdout]   --> src/routing/federation/user.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AuthArgs, AuthedInfo};
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `AuthedInfo`, `DepotExt`, and `hoops`
[INFO] [stdout]   --> src/routing/federation/mod.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::{empty_ok, hoops, json_ok, AppError, AppResult, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^                     ^^^^^^^^^            ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/routing/identity/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/pubkey.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/pubkey.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/threepid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/threepid.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/validate/email.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/validate/email.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/validate/msisdn.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `DepotExt`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/validate/msisdn.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]   |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^  ^^^^^^^^               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::AuthData`
[INFO] [stdout]  --> src/routing/identity/validate/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::client::uiaa::AuthData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt`, `JsonResult`, `empty_ok`, `hoops`, and `json_ok`
[INFO] [stdout]  --> src/routing/identity/validate/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{empty_ok, hoops, json_ok, DepotExt, JsonResult};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^  ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthArgs` and `AuthedInfo`
[INFO] [stdout]  --> src/routing/identity/validate/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{AuthArgs, AuthedInfo};
[INFO] [stdout]   |             ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::key::UploadSignaturesResBody`
[INFO] [stdout]   --> src/routing/identity/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::client::key::UploadSignaturesResBody;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::exts::*`
[INFO] [stdout]   --> src/routing/identity/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::exts::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `hoops`, and `json_ok`
[INFO] [stdout]   --> src/routing/identity/mod.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::{empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |                       ^^^^^  ^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/routing/push/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::exts::*`
[INFO] [stdout]   --> src/routing/push/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::exts::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthedInfo`, `JsonResult`, `db`, `hoops`, and `json_ok`
[INFO] [stdout]   --> src/routing/push/mod.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, empty_ok, hoops, json_ok, AuthArgs, AuthedInfo, DepotExt, EmptyResult, JsonResult};
[INFO] [stdout]    |             ^^            ^^^^^  ^^^^^^^            ^^^^^^^^^^                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/routing/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName` and `self`
[INFO] [stdout]  --> src/routing/mod.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use salvo::http::header::{self, HeaderName};
[INFO] [stdout]   |                           ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Method` and `StatusCode`
[INFO] [stdout]   --> src/routing/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use salvo::http::{Method, StatusCode};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepotExt` and `JsonResult`
[INFO] [stdout]   --> src/routing/mod.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::{AppResult, DepotExt, JsonResult};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AuthedInfo`
[INFO] [stdout]   --> src/routing/mod.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::{AuthArgs, AuthedInfo};
[INFO] [stdout]    |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db`
[INFO] [stdout]   --> src/bl/directory.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> src/bl/event/handler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Base64`
[INFO] [stdout]   --> src/bl/event/handler.rs:25:26
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::serde::{Base64, CanonicalJsonObject, CanonicalJsonValue, RawJsonValue};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::events`
[INFO] [stdout]   --> src/bl/event/pdu.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::schema::events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `db`
[INFO] [stdout]   --> src/bl/event/pdu.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]  --> src/bl/membership.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use diesel::PgConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::power_levels::RoomPowerLevelsEventContent`
[INFO] [stdout]   --> src/bl/membership.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::events::room::power_levels::RoomPowerLevelsEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/bl/room/lazy_loading.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{db, diesel_exists, AppError, AppResult};
[INFO] [stdout]    |                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/bl/room/pdu_metadata.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bl/room/pdu_metadata.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]  --> src/bl/room/pdu_metadata.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::core::UnixMillis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::u64_to_i64`
[INFO] [stdout]   --> src/bl/room/pdu_metadata.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::utils::u64_to_i64;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError`, `MatrixError`, and `utils`
[INFO] [stdout]   --> src/bl/room/pdu_metadata.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{db, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/room/receipt.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/bl/room/receipt.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CanonicalJsonObject`
[INFO] [stdout]   --> src/bl/room/receipt.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::serde::{CanonicalJsonObject, RawJson};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `utils`
[INFO] [stdout]   --> src/bl/room/receipt.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{db, utils, AppError, AppResult};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::*`
[INFO] [stdout]  --> src/bl/room/search.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::schema::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PduEvent` and `utils`
[INFO] [stdout]  --> src/bl/room/search.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{utils, AppResult, PduEvent};
[INFO] [stdout]   |             ^^^^^             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]  --> src/bl/room/space.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]  --> src/bl/room/space.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HierarchyReqArgs`
[INFO] [stdout]   --> src/bl/room/space.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |         client::space::{HierarchyReqArgs, HierarchyResBody, SpaceHierarchyRoomsChunk},
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db`
[INFO] [stdout]   --> src/bl/room/space.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]  --> src/bl/room/state/diff.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lru_cache::LruCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/room/state/diff.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::*`
[INFO] [stdout]   --> src/bl/room/state/diff.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::schema::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `room`
[INFO] [stdout]   --> src/bl/room/state/diff.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     room,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/bl/room/state/diff.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{db, utils, AppError, AppResult};
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/bl/room/state/field.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{db, AppError, AppResult};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/bl/room/state/frame.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::OwnedEventId`
[INFO] [stdout]  --> src/bl/room/state/frame.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use palpo_core::OwnedEventId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::error`
[INFO] [stdout]  --> src/bl/room/state/frame.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedServerName`, `OwnedUserId`, `ServerName`, and `UserId`
[INFO] [stdout]   --> src/bl/room/state/frame.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::{EventId, OwnedServerName, OwnedUserId, RoomId, ServerName, UserId};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^  ^^^^^^^^^^^          ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::event::PduEvent`
[INFO] [stdout]   --> src/bl/room/state/frame.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::event::PduEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]  --> src/bl/room/state/point.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use lru_cache::LruCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::StateEventType`
[INFO] [stdout]  --> src/bl/room/state/point.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::events::StateEventType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::event::PduEvent`
[INFO] [stdout]  --> src/bl/room/state/point.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::event::PduEvent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/bl/room/state/point.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{db, AppError, AppResult};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/room/timeline.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::is_aarch64_feature_detected`
[INFO] [stdout]  --> src/bl/room/timeline.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::arch::is_aarch64_feature_detected;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> src/bl/room/timeline.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash_map`
[INFO] [stdout]  --> src/bl/room/timeline.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{hash_map, BTreeMap, HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::size_of`
[INFO] [stdout]  --> src/bl/room/timeline.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::size_of;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]  --> src/bl/room/timeline.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lru_cache::LruCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex::Regex`
[INFO] [stdout]   --> src/bl/room/timeline.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use regex::Regex;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::MutexGuard`
[INFO] [stdout]   --> src/bl/room/timeline.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::sync::MutexGuard;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Base64`
[INFO] [stdout]   --> src/bl/room/timeline.rs:29:46
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::core::serde::{to_canonical_value, Base64, CanonicalJsonObject, CanonicalJsonValue, RawJsonValue};
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DbEvent`
[INFO] [stdout]   --> src/bl/room/timeline.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::event::{DbEvent, DbEventData, NewDbEvent};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/bl/room/timeline.rs:437:8
[INFO] [stdout]     |
[INFO] [stdout] 437 |     Ok((()))
[INFO] [stdout]     |        ^  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 437 -     Ok((()))
[INFO] [stdout] 437 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/bl/room/typing.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnceCell`
[INFO] [stdout]  --> src/bl/room/typing.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use once_cell::sync::{Lazy, OnceCell};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]  --> src/bl/room/typing.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ulid::Ulid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `db` and `utils`
[INFO] [stdout]   --> src/bl/room/typing.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{db, utils, AppError, AppResult};
[INFO] [stdout]    |             ^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/room/user.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::AnyStrippedStateEvent`
[INFO] [stdout]  --> src/bl/room/user.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::core::events::AnyStrippedStateEvent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils`
[INFO] [stdout]   --> src/bl/room/user.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{db, utils, AppResult, JsonValue};
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `utils`
[INFO] [stdout]   --> src/bl/room/thread.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{db, utils, AppError, AppResult, MatrixError, PduEvent};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `BTreeSet`, and `HashSet`
[INFO] [stdout]   --> src/bl/room/mod.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^^  ^^^^^^^^           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/bl/room/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, and `RwLock`
[INFO] [stdout]   --> src/bl/room/mod.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]   --> src/bl/room/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use once_cell::sync::Lazy;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/bl/room/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]   --> src/bl/room/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use salvo::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/bl/room/mod.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::rooms::state_frame_id`
[INFO] [stdout]   --> src/bl/room/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::schema::rooms::state_frame_id;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `utils`
[INFO] [stdout]   --> src/bl/room/mod.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 | use crate::{db, diesel_exists, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |                                ^^^^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::stream::FuturesUnordered`
[INFO] [stdout]   --> src/bl/sending.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use futures_util::stream::FuturesUnordered;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/bl/sending.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, error, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::*`
[INFO] [stdout]   --> src/bl/sending.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::schema::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `db`
[INFO] [stdout]   --> src/bl/sending.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::{db, utils, AppError, AppResult, PduEvent};
[INFO] [stdout]    |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/bl/sending.rs:421:26
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let txn_id = (&*general_purpose::URL_SAFE_NO_PAD.encode(utils::hash_keys(
[INFO] [stdout]     |                          ^
[INFO] [stdout] ...
[INFO] [stdout] 429 |             )));
[INFO] [stdout]     |               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 421 ~             let txn_id = &*general_purpose::URL_SAFE_NO_PAD.encode(utils::hash_keys(
[INFO] [stdout] 422 |                 &events
[INFO] [stdout] ...
[INFO] [stdout] 428 |                     .collect::<Vec<_>>(),
[INFO] [stdout] 429 ~             ));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `db`
[INFO] [stdout]  --> src/bl/state.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{db, AppError, AppResult, MatrixError};
[INFO] [stdout]   |             ^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]  --> src/bl/uiaa.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use diesel::PgConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `db`
[INFO] [stdout]   --> src/bl/uiaa.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{db, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/device.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/device.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/device.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/device.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `utils`
[INFO] [stdout]   --> src/bl/user/device.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue, MatrixError};
[INFO] [stdout]    |                                ^^^^^                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/password.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/password.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/profile.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/profile.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/profile.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/profile.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/access_token.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/access_token.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/access_token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/access_token.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/bl/user/filter.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/refresh_token.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError`, `diesel_exists`, and `utils`
[INFO] [stdout]   --> src/bl/user/data.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue, MatrixError};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^  ^^^^^                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]  --> src/bl/user/key.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::panic;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bl/user/key.rs:2:53
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{hash_map, BTreeMap, HashMap, HashSet};
[INFO] [stdout]   |                                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/bl/user/key.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::stream::FuturesUnordered`
[INFO] [stdout]  --> src/bl/user/key.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use futures_util::stream::FuturesUnordered;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::device::Device`
[INFO] [stdout]   --> src/bl/user/key.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::core::client::device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::federation`
[INFO] [stdout]   --> src/bl/user/key.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::core::federation;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schema::events::sender`
[INFO] [stdout]   --> src/bl/user/key.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::schema::events::sender;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `utils`
[INFO] [stdout]   --> src/bl/user/key.rs:21:32
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue, MatrixError, BAD_QUERY_RATE_LIMITER};
[INFO] [stdout]    |                                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::BytesMut`
[INFO] [stdout]  --> src/bl/user/pusher.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bytes::BytesMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]  --> src/bl/user/pusher.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::PgConnection;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoomKeyBackup`
[INFO] [stdout]  --> src/bl/user/key_backup.rs:7:67
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::backup::{BackupAlgorithm, KeyBackupData, RoomKeyBackup};
[INFO] [stdout]   |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Authorization`, `Bearer`, `Credentials`, and `HeaderMapExt`
[INFO] [stdout]  --> src/bl/user/session.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 |     authorization::{Authorization, Bearer, Credentials},
[INFO] [stdout]   |                     ^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 4 |     HeaderMapExt,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]  --> src/bl/user/session.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use salvo::oapi::ToParameters;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]  --> src/bl/user/session.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use salvo::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bl/user/session.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::serde::default_true`
[INFO] [stdout]   --> src/bl/user/session.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::serde::default_true;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data::*`
[INFO] [stdout]   --> src/bl/user/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use data::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bl/user/presence.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/bl/user/presence.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::PgConnection`
[INFO] [stdout]   --> src/bl/user/presence.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use diesel::PgConnection;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::stream::FuturesUnordered`
[INFO] [stdout]   --> src/bl/user/presence.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use futures_util::stream::FuturesUnordered;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/bl/user/presence.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `sync::mpsc` and `time::sleep`
[INFO] [stdout]   --> src/bl/user/presence.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::{sync::mpsc, time::sleep};
[INFO] [stdout]    |             ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils`
[INFO] [stdout]   --> src/bl/user/presence.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::{db, diesel_exists, utils, AppError, AppResult, JsonValue};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chksum::md5::default`
[INFO] [stdout]   --> src/bl/user/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use chksum::md5::default;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToParameters`
[INFO] [stdout]   --> src/bl/user/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use salvo::oapi::ToParameters;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::prelude::*`
[INFO] [stdout]   --> src/bl/user/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use salvo::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/bl/user/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::sync_events`
[INFO] [stdout]   --> src/bl/user/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use crate::core::client::sync_events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CrossSigningKey`, `DeviceKeys`, and `OneTimeKey`
[INFO] [stdout]   --> src/bl/user/mod.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 | use crate::core::encryption::{CrossSigningKey, DeviceKeys, OneTimeKey};
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnyToDeviceEvent`
[INFO] [stdout]   --> src/bl/user/mod.rs:46:50
[INFO] [stdout]    |
[INFO] [stdout] 46 | use crate::core::events::{AnyStrippedStateEvent, AnyToDeviceEvent};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeviceKeyAlgorithm` and `OwnedServerName`
[INFO] [stdout]   --> src/bl/user/mod.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 | use crate::core::{DeviceKeyAlgorithm, OwnedMxcUri, OwnedRoomId, OwnedServerName, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `utils`
[INFO] [stdout]   --> src/bl/user/mod.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 | use crate::{db, diesel_exists, utils, AppError, AppResult, MatrixError};
[INFO] [stdout]    |                                ^^^^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeSet`
[INFO] [stdout]  --> src/bl/sync.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{hash_map::Entry, BTreeMap, BTreeSet, HashMap, HashSet};
[INFO] [stdout]   |                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/bl/sync.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bl/sync.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/bl/sync.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use salvo::oapi::extract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ulid::Ulid`
[INFO] [stdout]   --> src/bl/sync.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ulid::Ulid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountDataV4`, `E2eeV4`, `ExtensionsV4`, `ReceiptsV4`, `SlidingOpV4`, `SyncEventsReqBodyV4`, `SyncEventsResBodyV4`, `SyncListV4`, `SyncOpV4`, `ToDeviceV4`, `TypingV4`, and `self`
[INFO] [stdout]   --> src/bl/sync.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     self, AccountDataV4, E2eeV4, EphemeralV3, ExtensionsV4, FilterV3, GlobalAccountDataV3, InviteStateV3,
[INFO] [stdout]    |     ^^^^  ^^^^^^^^^^^^^  ^^^^^^               ^^^^^^^^^^^^
[INFO] [stdout] 15 |     InvitedRoomV3, JoinedRoomV3, LeftRoomV3, PresenceV3, ReceiptsV4, RoomAccountDataV3, RoomSummaryV3, RoomsV3,
[INFO] [stdout]    |                                                          ^^^^^^^^^^
[INFO] [stdout] 16 |     SlidingOpV4, StateV3, SyncEventsReqArgsV3, SyncEventsReqBodyV4, SyncEventsResBodyV3, SyncEventsResBodyV4,
[INFO] [stdout]    |     ^^^^^^^^^^^                                ^^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     SyncListV4, SyncOpV4, TimelineV3, ToDeviceV3, ToDeviceV4, TypingV4, UnreadNotificationsCount,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^                          ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::uiaa::UiaaInfo`
[INFO] [stdout]   --> src/bl/sync.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::client::uiaa::UiaaInfo;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `presence::PresenceEvent`
[INFO] [stdout]   --> src/bl/sync.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::events::{presence::PresenceEvent, StateEventType, TimelineEventType};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]   --> src/bl/sync.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::UnixMillis;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError`, `db`, and `exts::*`
[INFO] [stdout]   --> src/bl/sync.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::{db, exts::*, AppError, AppResult, MatrixError};
[INFO] [stdout]    |             ^^  ^^^^^^^                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lru_cache::LruCache`
[INFO] [stdout]   --> src/bl/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use lru_cache::LruCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex as TokioMutex`
[INFO] [stdout]   --> src/bl/mod.rs:40:47
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tokio::sync::{broadcast, watch::Receiver, Mutex as TokioMutex, Semaphore};
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JsonResult`
[INFO] [stdout]   --> src/bl/mod.rs:49:38
[INFO] [stdout]    |
[INFO] [stdout] 49 | use crate::{db, AppError, AppResult, JsonResult, MatrixError};
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/config/db_config.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]   --> src/config/db_config.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::anyhow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `secrecy::SecretString`
[INFO] [stdout]   --> src/config/db_config.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use secrecy::SecretString;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `required_var`, `var_parsed`, and `var`
[INFO] [stdout]   --> src/config/db_config.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::env_vars::{required_var, var, var_parsed};
[INFO] [stdout]    |                       ^^^^^^^^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `true_value`
[INFO] [stdout]   --> src/config/db_config.rs:22:26
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{false_value, true_value};
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashMap`, and `HashSet`
[INFO] [stdout]  --> src/config/server_config.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/config/server_config.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> src/config/server_config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{env, fmt};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::signatures::Ed25519KeyPair`
[INFO] [stdout]  --> src/config/server_config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::signatures::Ed25519KeyPair;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `var_parsed` and `var`
[INFO] [stdout]  --> src/config/server_config.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::env_vars::{required_var, var, var_parsed};
[INFO] [stdout]   |                                     ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `anyhow`
[INFO] [stdout]   --> src/config/server_config.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use anyhow::{anyhow, Context};
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ClientId` and `ClientSecret`
[INFO] [stdout]   --> src/config/server_config.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use oauth2::{ClientId, ClientSecret};
[INFO] [stdout]    |              ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::OwnedUserId`
[INFO] [stdout]   --> src/config/server_config.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use palpo_core::OwnedUserId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/db/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/db/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnectionManager`
[INFO] [stdout]  --> src/db/mod.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use diesel::r2d2::{self, ConnectionManager, CustomizeConnection, State};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExposeSecret` and `SecretString`
[INFO] [stdout]  --> src/db/mod.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use secrecy::{ExposeSecret, SecretString};
[INFO] [stdout]   |               ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/db/mod.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::config::{self, DbConfig};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/db/pool.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::config::{self, DbConfig};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/env_vars.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Authorization` and `Bearer`
[INFO] [stdout]  --> src/hoops/mod.rs:1:43
[INFO] [stdout]   |
[INFO] [stdout] 1 | use salvo::http::headers::authorization::{Authorization, Bearer};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::http::headers::HeaderMapExt`
[INFO] [stdout]  --> src/hoops/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use salvo::http::headers::HeaderMapExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::http::StatusCode`
[INFO] [stdout]  --> src/hoops/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use salvo::http::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstDecoder`, `CookieFinder`, `HeaderFinder`, `JwtAuth`, and `QueryFinder`
[INFO] [stdout]  --> src/hoops/mod.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use salvo::jwt_auth::{ConstDecoder, CookieFinder, HeaderFinder, JwtAuth, QueryFinder};
[INFO] [stdout]   |                       ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::serve_static::StaticDir`
[INFO] [stdout]  --> src/hoops/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use salvo::serve_static::StaticDir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DbUserDevice` and `DbUser`
[INFO] [stdout]   --> src/hoops/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::user::{DbUser, DbUserDevice};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthArgs`, `AuthedInfo`, and `exts::*`
[INFO] [stdout]   --> src/hoops/mod.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{exts::*, AuthArgs, AuthedInfo};
[INFO] [stdout]    |             ^^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JsonResult`
[INFO] [stdout]   --> src/hoops/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AppResult, JsonResult};
[INFO] [stdout]    |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bearer`, `ParseError`, and `Scribe`
[INFO] [stdout]   --> src/hoops/auth.rs:9:44
[INFO] [stdout]    |
[INFO] [stdout] 9  |             authorization::{Authorization, Bearer, Credentials},
[INFO] [stdout]    |                                            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         HeaderValue, ParseError,
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 13 |     },
[INFO] [stdout] 14 |     Scribe,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/hoops/auth.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use serde::Deserialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/hoops/auth.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tracing::{debug, error, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthScheme`, `OwnedDeviceId`, and `UserId`
[INFO] [stdout]   --> src/hoops/auth.rs:20:31
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::core::{signatures, AuthScheme, OwnedDeviceId, OwnedServerName, UserId};
[INFO] [stdout]    |                               ^^^^^^^^^^  ^^^^^^^^^^^^^                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/hoops/auth.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::{db, AppError, AppResult, AuthArgs, AuthedInfo, MatrixError};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]   --> src/main.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Config` and `Variant`
[INFO] [stdout]  --> src/utils/mod.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use argon2::{Config, Variant};
[INFO] [stdout]   |              ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest`
[INFO] [stdout]  --> src/utils/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/utils/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     time::{SystemTime, UNIX_EPOCH},
[INFO] [stdout]   |            ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/utils/fs.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/utils/fs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::http::HeaderMap`
[INFO] [stdout]  --> src/utils/fs.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use salvo::http::HeaderMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textnonce::TextNonce`
[INFO] [stdout]   --> src/utils/fs.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use textnonce::TextNonce;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `join_path`
[INFO] [stdout]   --> src/utils/fs.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{join_path, AppError, AppResult};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/utils/hash.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/utils/hash.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `self`
[INFO] [stdout]  --> src/utils/hash.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, Read};
[INFO] [stdout]   |               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/error.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error as StdError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeaderName` and `self`
[INFO] [stdout]   --> src/main.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 | use salvo::http::header::{self, HeaderName};
[INFO] [stdout]    |                           ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/bl/mod.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let bytes = base64::decode(&crate::config().keypair).expect("server keypair is invalid base64 string");
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/bl/mod.rs:215:29
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let bytes = base64::decode(&crate::config().keypair).expect("server keypair is invalid base64 string");
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aa`
[INFO] [stdout]   --> src/routing/mod.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 | async fn require_authed(aa: AuthArgs, req: &mut Request, _depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_aa`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/routing/mod.rs:92:78
[INFO] [stdout]    |
[INFO] [stdout] 92 | async fn require_authed(aa: AuthArgs, req: &mut Request, _depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_header`
[INFO] [stdout]   --> src/routing/mod.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let auth_header = req.headers().typed_get::<Authorization<Bearer>>();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | async fn protocols(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 | async fn protocol(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:33:35
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn locations(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:39:44
[INFO] [stdout]    |
[INFO] [stdout] 39 | async fn protocol_locations(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 | async fn users(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:51:40
[INFO] [stdout]    |
[INFO] [stdout] 51 | async fn protocol_users(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/transaction.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | async fn send_event(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/mod.rs:132:20
[INFO] [stdout]     |
[INFO] [stdout] 132 | async fn wellknown(depot: &mut Depot) -> JsonResult<JsonValue> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/mod.rs:246:42
[INFO] [stdout]     |
[INFO] [stdout] 246 | async fn get_capabilities(_aa: AuthArgs, depot: &mut Depot) -> JsonResult<CapabilitiesResBody> {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/mod.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 275 | async fn supported_versions(depot: &mut Depot) -> JsonResult<VersionsResBody> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/mod.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_count`
[INFO] [stdout]    --> src/bl/sync.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let left_count = crate::room::get_left_count(&room_id, &sender_user_id)?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/sync.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let mut invited_rooms: BTreeMap<_, _> = crate::user::invited_rooms(&sender_user_id, since_sn)?
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]   --> src/main.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 | async fn token_via_email(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 | async fn token_via_msisdn(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 | async fn get(_aa: AuthArgs, depot: &mut Depot) -> JsonResult<ThreepidsResBody> {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 | async fn add(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 | async fn bind(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 | async fn delete(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/bl/mod.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let bytes = base64::decode(&crate::config().keypair).expect("server keypair is invalid base64 string");
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/bl/mod.rs:215:29
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let bytes = base64::decode(&crate::config().keypair).expect("server keypair is invalid base64 string");
[INFO] [stdout]     |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/auth.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 | async fn uiaa_fallback(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/routing/client/device.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let device_id = device_id.into_inner();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/device.rs:177:47
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(super) async fn dehydrated(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/device.rs:190:54
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(super) async fn upsert_dehydrated(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/directory/alias.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(super) async fn set_visibility_with_network_id(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/user/key.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let mut failures = BTreeMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `back_off`
[INFO] [stdout]    --> src/bl/user/key.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let back_off = |id| match BAD_QUERY_RATE_LIMITER.write().unwrap().entry(id) {
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_back_off`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/user/key.rs:183:29
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 if let Some(mut keys) = crate::user::get_device_keys(user_id, device_id)? {
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/login.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | async fn redirect(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/login.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | async fn provider_url(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/routing/client/presence.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     user_id: PathParam<OwnedUserId>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/profile.rs:38:70
[INFO] [stdout]    |
[INFO] [stdout] 38 | async fn get_profile(_aa: AuthArgs, user_id: PathParam<OwnedUserId>, depot: &mut Depot) -> JsonResult<ProfileResBody> {
[INFO] [stdout]    |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/profile.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aa`
[INFO] [stdout]   --> src/routing/mod.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 92 | async fn require_authed(aa: AuthArgs, req: &mut Request, _depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_aa`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/routing/mod.rs:92:78
[INFO] [stdout]    |
[INFO] [stdout] 92 | async fn require_authed(aa: AuthArgs, req: &mut Request, _depot: &mut Depot, res: &mut Response) {
[INFO] [stdout]    |                                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_header`
[INFO] [stdout]   --> src/routing/mod.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let auth_header = req.headers().typed_get::<Authorization<Bearer>>();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/profile.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/appservice/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | async fn protocols(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 | async fn protocol(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/profile.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:33:35
[INFO] [stdout]    |
[INFO] [stdout] 33 | async fn locations(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:39:44
[INFO] [stdout]    |
[INFO] [stdout] 39 | async fn protocol_locations(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:45:31
[INFO] [stdout]    |
[INFO] [stdout] 45 | async fn users(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:51:40
[INFO] [stdout]    |
[INFO] [stdout] 51 | async fn protocol_users(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/appservice/transaction.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 | async fn send_event(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/mod.rs:132:20
[INFO] [stdout]     |
[INFO] [stdout] 132 | async fn wellknown(depot: &mut Depot) -> JsonResult<JsonValue> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/mod.rs:246:42
[INFO] [stdout]     |
[INFO] [stdout] 246 | async fn get_capabilities(_aa: AuthArgs, depot: &mut Depot) -> JsonResult<CapabilitiesResBody> {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/mod.rs:275:29
[INFO] [stdout]     |
[INFO] [stdout] 275 | async fn supported_versions(depot: &mut Depot) -> JsonResult<VersionsResBody> {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/mod.rs:293:9
[INFO] [stdout]     |
[INFO] [stdout] 293 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/register.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/register.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/register.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/mod.rs:131:38
[INFO] [stdout]     |
[INFO] [stdout] 131 | async fn initial_sync(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_count`
[INFO] [stdout]    --> src/bl/sync.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let left_count = crate::room::get_left_count(&room_id, &sender_user_id)?;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/mod.rs:437:5
[INFO] [stdout]     |
[INFO] [stdout] 437 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/mod.rs:457:5
[INFO] [stdout]     |
[INFO] [stdout] 457 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/membership.rs:705:9
[INFO] [stdout]     |
[INFO] [stdout] 705 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/sync.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let mut invited_rooms: BTreeMap<_, _> = crate::user::invited_rooms(&sender_user_id, since_sn)?
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]   --> src/bl/event/handler.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |     if let Some(pdu_id) = crate::room::state::get_pdu_frame_id(event_id)? {
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expires_soon_or_has_expired` is assigned to, but never used
[INFO] [stdout]     --> src/bl/event/handler.rs:1341:13
[INFO] [stdout]      |
[INFO] [stdout] 1341 |     let mut expires_soon_or_has_expired = false;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expires_soon_or_has_expired` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expires_soon_or_has_expired` is never read
[INFO] [stdout]     --> src/bl/event/handler.rs:1362:13
[INFO] [stdout]      |
[INFO] [stdout] 1362 |             expires_soon_or_has_expired = true;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bl/event/handler.rs:1339:9
[INFO] [stdout]      |
[INFO] [stdout] 1339 |     let mut result = crate::signing_keys_for(origin)?;
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/event.rs:282:55
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub(super) async fn timestamp_to_event(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:54:41
[INFO] [stdout]    |
[INFO] [stdout] 54 | async fn token_via_email(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/mod.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 | async fn token_via_msisdn(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:36:29
[INFO] [stdout]    |
[INFO] [stdout] 36 | async fn get(_aa: AuthArgs, depot: &mut Depot) -> JsonResult<ThreepidsResBody> {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:41:29
[INFO] [stdout]    |
[INFO] [stdout] 41 | async fn add(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 | async fn bind(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/account/threepid.rs:56:32
[INFO] [stdout]    |
[INFO] [stdout] 56 | async fn delete(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/membership.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_id`
[INFO] [stdout]    --> src/bl/membership.rs:338:18
[INFO] [stdout]     |
[INFO] [stdout] 338 |             let (event_id, value) = match result.await {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `power_levels_event`
[INFO] [stdout]    --> src/bl/membership.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let power_levels_event = crate::room::state::get_state(room_id, &StateEventType::RoomPowerLevels, "")?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_power_levels_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/auth.rs:12:39
[INFO] [stdout]    |
[INFO] [stdout] 12 | async fn uiaa_fallback(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/routing/client/device.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let device_id = device_id.into_inner();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/device.rs:177:47
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(super) async fn dehydrated(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/device.rs:190:54
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub(super) async fn upsert_dehydrated(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/directory/alias.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:57:67
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(super) async fn set_visibility_with_network_id(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/key/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/user/key.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let mut failures = BTreeMap::new();
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/routing/client/room/membership.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     room_id: PathParam<OwnedRoomId>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `back_off`
[INFO] [stdout]    --> src/bl/user/key.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let back_off = |id| match BAD_QUERY_RATE_LIMITER.write().unwrap().entry(id) {
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_back_off`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/user/key.rs:183:29
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 if let Some(mut keys) = crate::user::get_device_keys(user_id, device_id)? {
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/login.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | async fn redirect(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/login.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 | async fn provider_url(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/routing/client/presence.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     user_id: PathParam<OwnedUserId>,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/room/membership.rs:371:9
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/routing/client/room/message.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let to: Option<i64> = args.to.as_ref().map(|to| to.parse()).transpose()?;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/profile.rs:38:70
[INFO] [stdout]    |
[INFO] [stdout] 38 | async fn get_profile(_aa: AuthArgs, user_id: PathParam<OwnedUserId>, depot: &mut Depot) -> JsonResult<ProfileResBody> {
[INFO] [stdout]    |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/profile.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/room/timeline.rs:855:9
[INFO] [stdout]     |
[INFO] [stdout] 855 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/profile.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/profile.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bl/room/timeline.rs:926:9
[INFO] [stdout]     |
[INFO] [stdout] 926 |     let value = get_pdu_json(&event_id)?.expect("We just created it");
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/bl/room/timeline.rs:938:13
[INFO] [stdout]     |
[INFO] [stdout] 938 |         let content = serde_json::from_str::<ExtractBody>(pdu.content.get())
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/register.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/register.rs:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/register.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/mod.rs:131:38
[INFO] [stdout]     |
[INFO] [stdout] 131 | async fn initial_sync(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_frame_id`
[INFO] [stdout]   --> src/bl/room/typing.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let current_frame_id = if let Some(s) = crate::room::state::get_room_frame_id(room_id)? {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_frame_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/room/state.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/mod.rs:437:5
[INFO] [stdout]     |
[INFO] [stdout] 437 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/mod.rs:457:5
[INFO] [stdout]     |
[INFO] [stdout] 457 |     depot: &mut Depot,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/routing/client/room_key.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     version: PathParam<String>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/routing/client/room_key.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         user_id,
[INFO] [stdout]     |         ^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_data`
[INFO] [stdout]    --> src/routing/client/room_key.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |         auth_data,
[INFO] [stdout]     |         ^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_trashed`
[INFO] [stdout]    --> src/routing/client/room_key.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         is_trashed,
[INFO] [stdout]     |         ^^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `etag`
[INFO] [stdout]    --> src/routing/client/room_key.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |         etag,
[INFO] [stdout]     |         ^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/membership.rs:705:9
[INFO] [stdout]     |
[INFO] [stdout] 705 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/session.rs:63:61
[INFO] [stdout]    |
[INFO] [stdout] 63 | async fn login(_aa: AuthArgs, body: JsonBody<LoginReqBody>, depot: &mut Depot) -> JsonResult<LoginResBody> {
[INFO] [stdout]    |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]   --> src/bl/event/handler.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |     if let Some(pdu_id) = crate::room::state::get_pdu_frame_id(event_id)? {
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/session.rs:185:39
[INFO] [stdout]     |
[INFO] [stdout] 185 | async fn refresh_token(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:9:50
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub(super) async fn request_token(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]   |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/media.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mxc`
[INFO] [stdout]   --> src/bl/media/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     mxc: &str,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_mxc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/media.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aa`
[INFO] [stdout]    --> src/routing/client/media.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     aa: AuthArgs,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_aa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/routing/client/media.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     args: UploadContentReqArgs,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ext`
[INFO] [stdout]    --> src/routing/client/media.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let ext = utils::fs::get_file_ext(&upload_name);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ext`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/routing/client/media.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let mut file = req.first_file().await.unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/media.rs:210:36
[INFO] [stdout]     |
[INFO] [stdout] 210 | async fn get_config(_aa: AuthArgs, depot: &mut Depot) -> JsonResult<ConfigResBody> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/media.rs:217:37
[INFO] [stdout]     |
[INFO] [stdout] 217 | async fn preview_url(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/routing/client/media.rs:240:35
[INFO] [stdout]     |
[INFO] [stdout] 240 | async fn thumbnail(_aa: AuthArgs, args: ThumbnailReqArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/media.rs:240:59
[INFO] [stdout]     |
[INFO] [stdout] 240 | async fn thumbnail(_aa: AuthArgs, args: ThumbnailReqArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 73 | async fn get_versions(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 | async fn version(depot: &mut Depot) -> JsonResult<ServerVersionResBody> {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:90:39
[INFO] [stdout]    |
[INFO] [stdout] 90 | async fn notifications(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:96:30
[INFO] [stdout]    |
[INFO] [stdout] 96 | async fn sync(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/federation/event.rs:101:44
[INFO] [stdout]     |
[INFO] [stdout] 101 | async fn event_by_timestamp(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/federation/event.rs:175:53
[INFO] [stdout]     |
[INFO] [stdout] 175 | async fn exchange_third_party_invite(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/key.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 | async fn query_keys(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/key.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | async fn query_keys_from_server(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/key.rs:47:45
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn server_signing_keys(_aa: AuthArgs, depot: &mut Depot, res: &mut Response) -> JsonResult<ServerKeysResBody> {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/routing/federation/key.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn server_signing_keys(_aa: AuthArgs, depot: &mut Depot, res: &mut Response) -> JsonResult<ServerKeysResBody> {
[INFO] [stdout]    |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/bl/membership.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let origin: OwnedServerName = serde_json::from_value(
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expires_soon_or_has_expired` is assigned to, but never used
[INFO] [stdout]     --> src/bl/event/handler.rs:1341:13
[INFO] [stdout]      |
[INFO] [stdout] 1341 |     let mut expires_soon_or_has_expired = false;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expires_soon_or_has_expired` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expires_soon_or_has_expired` is never read
[INFO] [stdout]     --> src/bl/event/handler.rs:1362:13
[INFO] [stdout]      |
[INFO] [stdout] 1362 |             expires_soon_or_has_expired = true;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/federation/membership.rs:243:42
[INFO] [stdout]     |
[INFO] [stdout] 243 | async fn send_leave_event(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/openid.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | async fn userinfo(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/query.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/query.rs:75:39
[INFO] [stdout]    |
[INFO] [stdout] 75 | async fn query_by_type(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bl/event/handler.rs:1339:9
[INFO] [stdout]      |
[INFO] [stdout] 1339 |     let mut result = crate::signing_keys_for(origin)?;
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/room.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/room.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/space.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | async fn tree(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn_id`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     txn_id: PathParam<OwnedTransactionId>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_txn_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/room/event.rs:282:55
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub(super) async fn timestamp_to_event(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/pubkey.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 | async fn public_key(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/pubkey.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 | async fn is_valid(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/pubkey.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 | async fn ephemeral_is_valid(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/threepid.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | async fn bind(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/threepid.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | async fn unbind(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/threepid.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 | async fn validated(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]  --> src/routing/identity/validate/email.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(super) async fn create_session(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]   |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/validate/email.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(super) async fn validate(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/validate/email.rs:19:57
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(super) async fn validate_by_end_user(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/push/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/membership.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_id`
[INFO] [stdout]    --> src/bl/membership.rs:338:18
[INFO] [stdout]     |
[INFO] [stdout] 338 |             let (event_id, value) = match result.await {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `power_levels_event`
[INFO] [stdout]    --> src/bl/membership.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let power_levels_event = crate::room::state::get_state(room_id, &StateEventType::RoomPowerLevels, "")?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_power_levels_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/routing/client/room/membership.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     room_id: PathParam<OwnedRoomId>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/bl/appservice.rs:138:30
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub async fn find_from_token(token: &str) -> Option<RegistrationInfo> {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alias`
[INFO] [stdout]    --> src/bl/appservice.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub async fn is_exclusive_alias(alias: &RoomAliasId) -> bool {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_alias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/bl/appservice.rs:156:35
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub async fn is_exclusive_room_id(room_id: &RoomId) -> bool {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/room/membership.rs:371:9
[INFO] [stdout]     |
[INFO] [stdout] 371 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/routing/client/room/message.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let to: Option<i64> = args.to.as_ref().map(|to| to.parse()).transpose()?;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/room/timeline.rs:855:9
[INFO] [stdout]     |
[INFO] [stdout] 855 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bl/room/timeline.rs:926:9
[INFO] [stdout]     |
[INFO] [stdout] 926 |     let value = get_pdu_json(&event_id)?.expect("We just created it");
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]    --> src/bl/room/timeline.rs:938:13
[INFO] [stdout]     |
[INFO] [stdout] 938 |         let content = serde_json::from_str::<ExtractBody>(pdu.content.get())
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_frame_id`
[INFO] [stdout]   --> src/bl/room/typing.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let current_frame_id = if let Some(s) = crate::room::state::get_room_frame_id(room_id)? {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_frame_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]    --> src/routing/client/room/state.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 |     let authed = depot.authed_info()?;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/routing/client/room_key.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     version: PathParam<String>,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/event/handler.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]    --> src/bl/event/handler.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout] 713 |     let pdu_id = crate::room::timeline::append_incoming_pdu(
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/routing/client/room_key.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |         user_id,
[INFO] [stdout]     |         ^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_data`
[INFO] [stdout]    --> src/routing/client/room_key.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |         auth_data,
[INFO] [stdout]     |         ^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_trashed`
[INFO] [stdout]    --> src/routing/client/room_key.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         is_trashed,
[INFO] [stdout]     |         ^^^^^^^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `etag`
[INFO] [stdout]    --> src/routing/client/room_key.rs:287:9
[INFO] [stdout]     |
[INFO] [stdout] 287 |         etag,
[INFO] [stdout]     |         ^^^^-
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/session.rs:63:61
[INFO] [stdout]    |
[INFO] [stdout] 63 | async fn login(_aa: AuthArgs, body: JsonBody<LoginReqBody>, depot: &mut Depot) -> JsonResult<LoginResBody> {
[INFO] [stdout]    |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/session.rs:185:39
[INFO] [stdout]     |
[INFO] [stdout] 185 | async fn refresh_token(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]  --> src/routing/client/user/openid.rs:9:50
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub(super) async fn request_token(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]   |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/media.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mxc`
[INFO] [stdout]   --> src/bl/media/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     mxc: &str,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_mxc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/media.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aa`
[INFO] [stdout]    --> src/routing/client/media.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     aa: AuthArgs,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_aa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/routing/client/media.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     args: UploadContentReqArgs,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ext`
[INFO] [stdout]    --> src/routing/client/media.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let ext = utils::fs::get_file_ext(&upload_name);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ext`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/routing/client/media.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |     let mut file = req.first_file().await.unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/media.rs:210:36
[INFO] [stdout]     |
[INFO] [stdout] 210 | async fn get_config(_aa: AuthArgs, depot: &mut Depot) -> JsonResult<ConfigResBody> {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/media.rs:217:37
[INFO] [stdout]     |
[INFO] [stdout] 217 | async fn preview_url(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/routing/client/media.rs:240:35
[INFO] [stdout]     |
[INFO] [stdout] 240 | async fn thumbnail(_aa: AuthArgs, args: ThumbnailReqArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/media.rs:240:59
[INFO] [stdout]     |
[INFO] [stdout] 240 | async fn thumbnail(_aa: AuthArgs, args: ThumbnailReqArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 73 | async fn get_versions(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 | async fn version(depot: &mut Depot) -> JsonResult<ServerVersionResBody> {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:90:39
[INFO] [stdout]    |
[INFO] [stdout] 90 | async fn notifications(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/mod.rs:96:30
[INFO] [stdout]    |
[INFO] [stdout] 96 | async fn sync(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/federation/event.rs:101:44
[INFO] [stdout]     |
[INFO] [stdout] 101 | async fn event_by_timestamp(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/federation/event.rs:175:53
[INFO] [stdout]     |
[INFO] [stdout] 175 | async fn exchange_third_party_invite(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/key.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 | async fn query_keys(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/key.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | async fn query_keys_from_server(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/key.rs:47:45
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn server_signing_keys(_aa: AuthArgs, depot: &mut Depot, res: &mut Response) -> JsonResult<ServerKeysResBody> {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/routing/federation/key.rs:47:64
[INFO] [stdout]    |
[INFO] [stdout] 47 | async fn server_signing_keys(_aa: AuthArgs, depot: &mut Depot, res: &mut Response) -> JsonResult<ServerKeysResBody> {
[INFO] [stdout]    |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin`
[INFO] [stdout]   --> src/bl/membership.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let origin: OwnedServerName = serde_json::from_value(
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/federation/membership.rs:243:42
[INFO] [stdout]     |
[INFO] [stdout] 243 | async fn send_leave_event(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/openid.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | async fn userinfo(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/query.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/query.rs:75:39
[INFO] [stdout]    |
[INFO] [stdout] 75 | async fn query_by_type(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/room.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/room.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/federation/space.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | async fn tree(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/membership.rs:903:9
[INFO] [stdout]     |
[INFO] [stdout] 903 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `txn_id`
[INFO] [stdout]   --> src/routing/federation/transaction.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     txn_id: PathParam<OwnedTransactionId>,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_txn_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/pubkey.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 | async fn public_key(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/pubkey.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 | async fn is_valid(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/pubkey.rs:27:44
[INFO] [stdout]    |
[INFO] [stdout] 27 | async fn ephemeral_is_valid(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/threepid.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 | async fn bind(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/threepid.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | async fn unbind(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/threepid.rs:26:35
[INFO] [stdout]    |
[INFO] [stdout] 26 | async fn validated(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]  --> src/routing/identity/validate/email.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(super) async fn create_session(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]   |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/validate/email.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(super) async fn validate(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/identity/validate/email.rs:19:57
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(super) async fn validate_by_end_user(_aa: AuthArgs, depot: &mut Depot) -> EmptyResult {
[INFO] [stdout]    |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `authed`
[INFO] [stdout]   --> src/routing/push/mod.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let authed = depot.authed_info()?;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_authed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/bl/appservice.rs:138:30
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub async fn find_from_token(token: &str) -> Option<RegistrationInfo> {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alias`
[INFO] [stdout]    --> src/bl/appservice.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub async fn is_exclusive_alias(alias: &RoomAliasId) -> bool {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_alias`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/bl/appservice.rs:156:35
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub async fn is_exclusive_room_id(room_id: &RoomId) -> bool {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/event/handler.rs:391:9
[INFO] [stdout]     |
[INFO] [stdout] 391 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]    --> src/bl/event/handler.rs:713:9
[INFO] [stdout]     |
[INFO] [stdout] 713 |     let pdu_id = crate::room::timeline::append_incoming_pdu(
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/bl/user/pusher.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[tracing::instrument(skip(unread, pusher, tweaks, event))]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see issue #123748 <https://github.com/rust-lang/rust/issues/123748>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `for<'de> !: bl::_::_serde::Deserialize<'de>` will fail
[INFO] [stdout]    --> src/bl/user/pusher.rs:350:22
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     .send()
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `tracing::instrument` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/membership.rs:903:9
[INFO] [stdout]     |
[INFO] [stdout] 903 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/bl/user/pusher.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[tracing::instrument(skip(unread, pusher, tweaks, event))]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see issue #123748 <https://github.com/rust-lang/rust/issues/123748>
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `for<'de> !: bl::_::_serde::Deserialize<'de>` will fail
[INFO] [stdout]    --> src/bl/user/pusher.rs:350:22
[INFO] [stdout]     |
[INFO] [stdout] 350 |                     .send()
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
[INFO] [stdout]     = note: this warning originates in the attribute macro `tracing::instrument` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aa`
[INFO] [stdout]   --> src/hoops/auth.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     aa: AuthArgs,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_aa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/hoops/auth.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     res: &mut Response,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aa`
[INFO] [stdout]   --> src/hoops/auth.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     aa: AuthArgs,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_aa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/hoops/auth.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     res: &mut Response,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `palpo` (bin "palpo" test) due to 20 previous errors; 546 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/39cb3386ddc6c71657418be28dbb3987eea4aa4b/bin/rustc --crate-name palpo --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=f861f5d20eb46422 -C extra-filename=-f861f5d20eb46422 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-307a696a835b9a50.rmeta --extern async_trait=/opt/rustwide/target/debug/deps/libasync_trait-3f99ad7b8e3dbc96.so --extern base64=/opt/rustwide/target/debug/deps/libbase64-5b4bb36afce686df.rmeta --extern bcrypt=/opt/rustwide/target/debug/deps/libbcrypt-cea1c7fa3b31dcdd.rmeta --extern bigdecimal=/opt/rustwide/target/debug/deps/libbigdecimal-c79df53b2e0da273.rmeta --extern blurhash=/opt/rustwide/target/debug/deps/libblurhash-f0832bcef4fb5b11.rmeta --extern bytes=/opt/rustwide/target/debug/deps/libbytes-421a06479d7e854b.rmeta --extern chksum=/opt/rustwide/target/debug/deps/libchksum-9c22c52e593c934d.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-b6b8aecb11998089.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-4e8ad8d533d6b09c.rmeta --extern config=/opt/rustwide/target/debug/deps/libconfig-e3be490fcacbf2f3.rmeta --extern cookie=/opt/rustwide/target/debug/deps/libcookie-8f15daedfb32d7c9.rmeta --extern cruet=/opt/rustwide/target/debug/deps/libcruet-80f6d2169b3c7bf1.rmeta --extern data_encoding=/opt/rustwide/target/debug/deps/libdata_encoding-8398fb76b0864980.rmeta --extern diesel=/opt/rustwide/target/debug/deps/libdiesel-493dec34bb593f64.rmeta --extern diesel_migrations=/opt/rustwide/target/debug/deps/libdiesel_migrations-8a4935244f9683ea.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-11ff877de8345715.rmeta --extern fast32=/opt/rustwide/target/debug/deps/libfast32-45653aa341ede7e4.rmeta --extern figment=/opt/rustwide/target/debug/deps/libfigment-865a3f8d14830149.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-3f49426c578c0fd1.rmeta --extern globwalk=/opt/rustwide/target/debug/deps/libglobwalk-9d6a0c5c91d0c7fd.rmeta --extern hickory_resolver=/opt/rustwide/target/debug/deps/libhickory_resolver-c2dd3bc9d8c6318a.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-e6d672a6dd8311da.rmeta --extern image=/opt/rustwide/target/debug/deps/libimage-cdd37a60cbbc90ee.rmeta --extern jsonwebtoken=/opt/rustwide/target/debug/deps/libjsonwebtoken-3980777cbe0c2b79.rmeta --extern lru_cache=/opt/rustwide/target/debug/deps/liblru_cache-d5aefcfd975748a9.rmeta --extern maplit=/opt/rustwide/target/debug/deps/libmaplit-49330c88ca10edac.rmeta --extern mime=/opt/rustwide/target/debug/deps/libmime-9fbd22b1793bcb1d.rmeta --extern mime_guess=/opt/rustwide/target/debug/deps/libmime_guess-e9ee465553c47c7b.rmeta --extern oauth2=/opt/rustwide/target/debug/deps/liboauth2-e06251b01150bbdf.rmeta --extern once_cell=/opt/rustwide/target/debug/deps/libonce_cell-545f3f5526de30f0.rmeta --extern palpo_core=/opt/rustwide/target/debug/deps/libpalpo_core-93900f7300cb737b.rmeta --extern palpo_macros=/opt/rustwide/target/debug/deps/libpalpo_macros-295e8bc70a7ec371.so --extern path_slash=/opt/rustwide/target/debug/deps/libpath_slash-4eef9233f1f36f84.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-fe3aeda24b8570bb.rmeta --extern redis=/opt/rustwide/target/debug/deps/libredis-50dfab1374da6699.rmeta --extern regex=/opt/rustwide/target/debug/deps/libregex-200eb5ce0d9a64cc.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-1fb267c6a6c3d3ed.rmeta --extern ring=/opt/rustwide/target/debug/deps/libring-b1568f969652080c.rmeta --extern argon2=/opt/rustwide/target/debug/deps/libargon2-851318c686829b88.rmeta --extern salvo=/opt/rustwide/target/debug/deps/libsalvo-af2f2b8afb772598.rmeta --extern sanitize_filename=/opt/rustwide/target/debug/deps/libsanitize_filename-bdc8684918224d43.rmeta --extern scheduled_thread_pool=/opt/rustwide/target/debug/deps/libscheduled_thread_pool-37b79457639dddcc.rmeta --extern secrecy=/opt/rustwide/target/debug/deps/libsecrecy-780a78fa064ff715.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-b6cc2df8f4600aca.rmeta --extern serde_aux=/opt/rustwide/target/debug/deps/libserde_aux-7493ced1e02a3c16.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-7a50e8d1b010c718.rmeta --extern serde_with=/opt/rustwide/target/debug/deps/libserde_with-78a018794c841638.rmeta --extern serde_yaml=/opt/rustwide/target/debug/deps/libserde_yaml-83c324da5ab25b0c.rmeta --extern sha1=/opt/rustwide/target/debug/deps/libsha1-a1833bf2c7d7d501.rmeta --extern strum=/opt/rustwide/target/debug/deps/libstrum-5c3008c44a69bf75.rmeta --extern strum_macros=/opt/rustwide/target/debug/deps/libstrum_macros-3cb7fb08eb16f15a.so --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-187074d4dfd9fd09.rmeta --extern textnonce=/opt/rustwide/target/debug/deps/libtextnonce-e717637f169a48ef.rmeta --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-af5c4bd540b270bf.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-ec514d689bc268d6.rmeta --extern tokio_stream=/opt/rustwide/target/debug/deps/libtokio_stream-7b661de7cf6edaa1.rmeta --extern tokio_util=/opt/rustwide/target/debug/deps/libtokio_util-a26d33668019a48c.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-a05dd69f4cc23a41.rmeta --extern tracing_futures=/opt/rustwide/target/debug/deps/libtracing_futures-b0e901747e1ffc67.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-63a13676a233654e.rmeta --extern ulid=/opt/rustwide/target/debug/deps/libulid-29519b79b8850220.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-f43b77be66ceed84.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-0fdb83505f3d17b5.rmeta --cap-lints=forbid -L native=/usr/lib/x86_64-linux-gnu -L native=/opt/rustwide/target/debug/build/ring-35727ee98cae7fe5/out -L native=/opt/rustwide/target/debug/build/zstd-sys-7158ebdf9a5d41c5/out` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/routing/client/room/tag.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/routing/client/session.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/routing/client/to_device.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/routing/client/user/room.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/bl/directory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/bl/event/pdu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stdout]  --> src/bl/room/receipt.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use futures_util::TryFutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/bl/room/search.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::StreamExt`
[INFO] [stdout]   --> src/bl/room/state/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures_util::StreamExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/bl/sending.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::TryFutureExt`
[INFO] [stdout]  --> src/bl/sync.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures_util::TryFutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude`
[INFO] [stdout]  --> src/bl/sync.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use diesel::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]   --> src/routing/client/device.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     depot: &mut Depot,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/routing/client/user_directory.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     args: SearchUsersReqArgs,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/routing/client/user_directory.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut user_ids = users::table
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depot`
[INFO] [stdout]    --> src/routing/client/media.rs:113:34
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn create_mxc_uri(_aa: AuthArgs, depot: &mut Depot) -> JsonResult<CreateMxcUriResBody> {
[INFO] [stdout]     |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_depot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `service_name`
[INFO] [stdout]    --> src/bl/appservice.rs:121:30
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn unregister_appservice(service_name: &str) -> AppResult<()> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/bl/appservice.rs:127:25
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn get_registration(id: &str) -> AppResult<Option<Registration>> {
[INFO] [stdout]     |                         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/bl/appservice.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn is_exclusive_user_id(user_id: &UserId) -> bool {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]    --> src/bl/membership.rs:836:9
[INFO] [stdout]     |
[INFO] [stdout] 836 |     let conf = crate::config();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/bl/room/pdu_metadata.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let depth: u8 = if recurse { 3 } else { 1 };
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bl/room/receipt.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut json = event_datas::table
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `words`
[INFO] [stdout]  --> src/bl/room/search.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let words: Vec<_> = search_string
[INFO] [stdout]   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_words`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]  --> src/bl/room/search.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn search_pdus(room_id: &RoomId, search_string: &str) -> AppResult<Option<(Vec<OwnedEventId>, Vec<String>)>> {
[INFO] [stdout]   |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/bl/room/timeline.rs:410:33
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let matching_aliases = |conn: &mut PgConnection| {
[INFO] [stdout]     |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/bl/room/user.rs:114:21
[INFO] [stdout]     |
[INFO] [stdout] 114 |     while let Some((user_id, room_ids)) = user_rooms.pop() {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/bl/room/thread.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     user_id: &UserId,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include`
[INFO] [stdout]   --> src/bl/room/thread.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     include: &IncludeThreads,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root_id`
[INFO] [stdout]    --> src/bl/room/thread.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 | fn get_participants(root_id: &EventId) -> AppResult<Option<Vec<OwnedUserId>>> {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_root_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/bl/room/mod.rs:426:27
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub fn appservice_in_room(room_id: &RoomId, appservice: &RegistrationInfo) -> AppResult<bool> {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `appservice`
[INFO] [stdout]    --> src/bl/room/mod.rs:426:45
[INFO] [stdout]     |
[INFO] [stdout] 426 | pub fn appservice_in_room(room_id: &RoomId, appservice: &RegistrationInfo) -> AppResult<bool> {
[INFO] [stdout]     |                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_appservice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_events`
[INFO] [stdout]    --> src/bl/sending.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     new_events: Vec<(SendingEventType, Vec<u8>)>, // Events we want to send: event and full key
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/sending.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut events = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]    --> src/bl/sending.rs:326:22
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn send_push_pdu(pdu_id: &EventId, user: &UserId, pushkey: String) -> AppResult<()> {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/bl/sending.rs:326:40
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn send_push_pdu(pdu_id: &EventId, user: &UserId, pushkey: String) -> AppResult<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pushkey`
[INFO] [stdout]    --> src/bl/sending.rs:326:55
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn send_push_pdu(pdu_id: &EventId, user: &UserId, pushkey: String) -> AppResult<()> {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pushkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]    --> src/bl/sending.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn send_pdu(server: &ServerName, pdu_id: &EventId) -> AppResult<()> {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]    --> src/bl/sending.rs:339:38
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn send_pdu(server: &ServerName, pdu_id: &EventId) -> AppResult<()> {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]    --> src/bl/sending.rs:354:26
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn send_reliable_edu(server: &ServerName, serialized: Vec<u8>, id: &str) -> AppResult<()> {
[INFO] [stdout]     |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `serialized`
[INFO] [stdout]    --> src/bl/sending.rs:354:47
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn send_reliable_edu(server: &ServerName, serialized: Vec<u8>, id: &str) -> AppResult<()> {
[INFO] [stdout]     |                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_serialized`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outgoing_kind`
[INFO] [stdout]    --> src/bl/sending.rs:622:24
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn active_requests_for(outgoing_kind: &OutgoingKind) -> AppResult<Vec<(Vec<u8>, SendingEventType)>> {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/bl/sending.rs:631:26
[INFO] [stdout]     |
[INFO] [stdout] 631 | fn delete_active_request(key: Vec<u8>) -> AppResult<()> {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outgoing_kind`
[INFO] [stdout]    --> src/bl/sending.rs:637:35
[INFO] [stdout]     |
[INFO] [stdout] 637 | fn delete_all_active_requests_for(outgoing_kind: &OutgoingKind) -> AppResult<()> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outgoing_kind`
[INFO] [stdout]    --> src/bl/sending.rs:647:28
[INFO] [stdout]     |
[INFO] [stdout] 647 | fn delete_all_requests_for(outgoing_kind: &OutgoingKind) -> AppResult<()> {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `requests`
[INFO] [stdout]    --> src/bl/sending.rs:661:19
[INFO] [stdout]     |
[INFO] [stdout] 661 | fn queue_requests(requests: &[(&OutgoingKind, SendingEventType)]) -> AppResult<Vec<Vec<u8>>> {
[INFO] [stdout]     |                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outgoing_kind`
[INFO] [stdout]    --> src/bl/sending.rs:686:20
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn queued_requests(outgoing_kind: &OutgoingKind) -> AppResult<(SendingEventType, Vec<u8>)> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/bl/sending.rs:695:19
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn mark_as_active(events: &[(SendingEventType, Vec<u8>)]) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server_name`
[INFO] [stdout]    --> src/bl/sending.rs:710:16
[INFO] [stdout]     |
[INFO] [stdout] 710 | fn last_edu_sn(server_name: &ServerName) -> AppResult<i64> {
[INFO] [stdout]     |                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/bl/uiaa.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     user_id: &UserId,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]   --> src/bl/uiaa.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     device_id: &DeviceId,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uiaa_info`
[INFO] [stdout]   --> src/bl/uiaa.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     uiaa_info: &UiaaInfo,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uiaa_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_body`
[INFO] [stdout]   --> src/bl/uiaa.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     json_body: &CanonicalJsonValue,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/bl/uiaa.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     user_id: &UserId,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]   --> src/bl/uiaa.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     device_id: &DeviceId,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]   --> src/bl/uiaa.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     session: &str,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uiaainfo`
[INFO] [stdout]   --> src/bl/uiaa.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     uiaainfo: Option<&UiaaInfo>,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_uiaainfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/bl/uiaa.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn get_uiaa_request(user_id: &UserId, device_id: &DeviceId, session: &str) -> Option<CanonicalJsonValue> {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/bl/uiaa.rs:121:43
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn get_uiaa_request(user_id: &UserId, device_id: &DeviceId, session: &str) -> Option<CanonicalJsonValue> {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_device_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session`
[INFO] [stdout]    --> src/bl/uiaa.rs:121:65
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn get_uiaa_request(user_id: &UserId, device_id: &DeviceId, session: &str) -> Option<CanonicalJsonValue> {
[INFO] [stdout]     |                                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_signing_key_id`
[INFO] [stdout]    --> src/bl/user/key.rs:506:13
[INFO] [stdout]     |
[INFO] [stdout] 506 |         let self_signing_key_id = self_signing_key_ids
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_signing_key_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_signing_key_id`
[INFO] [stdout]    --> src/bl/user/key.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |         let user_signing_key_id = user_signing_key_ids
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_signing_key_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/bl/user/pusher.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |             user_id,
[INFO] [stdout]    |             ^^^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access_token_id`
[INFO] [stdout]   --> src/bl/user/pusher.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             access_token_id,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enabled`
[INFO] [stdout]   --> src/bl/user/pusher.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |             enabled,
[INFO] [stdout]    |             ^^^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_stream_ordering`
[INFO] [stdout]   --> src/bl/user/pusher.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |             last_stream_ordering,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_success`
[INFO] [stdout]   --> src/bl/user/pusher.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |             last_success,
[INFO] [stdout]    |             ^^^^^^^^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `failing_since`
[INFO] [stdout]   --> src/bl/user/pusher.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             failing_since,
[INFO] [stdout]    |             ^^^^^^^^^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `created_at`
[INFO] [stdout]   --> src/bl/user/pusher.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             created_at,
[INFO] [stdout]    |             ^^^^^^^^^^-
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/bl/user/key_backup.rs:108:39
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn get_room_key(user_id: &UserId, room_id: &RoomId, version: i64) -> AppResult<Option<DbRoomKey>> {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/bl/user/key_backup.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     room_id: &OwnedRoomId,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> src/bl/user/key_backup.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     session_id: &OwnedSessionId,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/bl/user/presence.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn ping_presence(user_id: &UserId) -> AppResult<()> {
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]   --> src/bl/user/presence.rs:91:44
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn get_last_presence(user_id: &UserId, room_id: &RoomId) -> AppResult<Option<DbPresence>> {
[INFO] [stdout]    |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/bl/user/presence.rs:121:23
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn presence_since(room_id: &RoomId, since_sn: i64) -> AppResult<(OwnedUserId, i64, PresenceEvent)> {
[INFO] [stdout]     |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since_sn`
[INFO] [stdout]    --> src/bl/user/presence.rs:121:41
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn presence_since(room_id: &RoomId, since_sn: i64) -> AppResult<(OwnedUserId, i64, PresenceEvent)> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_since_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> src/bl/mod.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let bytes = base64::decode(&crate::config().keypair).expect("server keypair is invalid base64 string");
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/mod.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |     let mut prev_keys: Option<ServerSigningKeys> =
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bl/mod.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 524 |     let mut prev_keys: Option<ServerSigningKeys> =
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/error.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 |             Self::Internal(msg) => MatrixError::unknown("unknown error."),
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     crate::db::DIESEL_POOL.set(db_primary);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let _ = crate::db::DIESEL_POOL.set(db_primary);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     crate::config::CONFIG.set(conf);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let _ = crate::config::CONFIG.set(conf);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/routing/client/room/relation.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | /     crate::room::pdu_metadata::paginate_relations_with_filter(
[INFO] [stdout] 16 | |         authed.user_id(),
[INFO] [stdout] 17 | |         &args.room_id,
[INFO] [stdout] 18 | |         &args.event_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 25 | |         args.dir,
[INFO] [stdout] 26 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _ = crate::room::pdu_metadata::paginate_relations_with_filter(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bl/admin.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     SENDER.set(sender);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let _ = SENDER.set(sender);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bl/event/handler.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | /     crate::event::handler::upgrade_outlier_to_timeline_pdu(
[INFO] [stdout] 193 | |         &incoming_pdu,
[INFO] [stdout] 194 | |         val,
[INFO] [stdout] 195 | |         &create_event,
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |     )
[INFO] [stdout] 200 | |     .await;
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let _ = crate::event::handler::upgrade_outlier_to_timeline_pdu(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bl/event/handler.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 | /             fetch_and_handle_outliers(
[INFO] [stdout] 304 | |                 origin,
[INFO] [stdout] 305 | |                 &incoming_pdu
[INFO] [stdout] 306 | |                     .auth_events
[INFO] [stdout] ...   |
[INFO] [stdout] 314 | |             )
[INFO] [stdout] 315 | |             .await;
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let _ = fetch_and_handle_outliers(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/bl/room/pdu_metadata.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | /     diesel::update(events::table.filter(events::id.eq(event_id)))
[INFO] [stdout] 251 | |         .set(events::soft_failed.eq(true))
[INFO] [stdout] 252 | |         .execute(&mut db::connect()?);
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let _ = diesel::update(events::table.filter(events::id.eq(event_id)))
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/bl/room/receipt.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 | /                     diesel::insert_into(event_receipts::table)
[INFO] [stdout] 48 | |                         .values(NewDbReceipt {
[INFO] [stdout] 49 | |                             room_id: room_id.to_owned(),
[INFO] [stdout] 50 | |                             receipt_type: receipt_type.to_string(),
[INFO] [stdout] ...  |
[INFO] [stdout] 62 | |                         .set((event_receipts::receipt_at.eq(receipt_at),))
[INFO] [stdout] 63 | |                         .execute(&mut *db::connect()?);
[INFO] [stdout]    | |______________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 47 |                     let _ = diesel::insert_into(event_receipts::table)
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/bl/sending.rs:226:50
[INFO] [stdout]     |
[INFO] [stdout] 226 |             for (user_id, sn, presence_event) in crate::user::presence_since(&room_id, since_sn) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 226 |             while let Ok((user_id, sn, presence_event)) = crate::user::presence_since(&room_id, since_sn) {
[INFO] [stdout]     |             ~~~~~~~~~~~~~                             ~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 226 |             if let Ok((user_id, sn, presence_event)) = crate::user::presence_since(&room_id, since_sn) {
[INFO] [stdout]     |             ~~~~~~~~~~                             ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/bl/sync.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 102 |             for (user_id, _, presence_event) in crate::user::presence_since(&room_id, since_sn) {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 102 |             while let Ok((user_id, _, presence_event)) = crate::user::presence_since(&room_id, since_sn) {
[INFO] [stdout]     |             ~~~~~~~~~~~~~                            ~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 102 |             if let Ok((user_id, _, presence_event)) = crate::user::presence_since(&room_id, since_sn) {
[INFO] [stdout]     |             ~~~~~~~~~~                            ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1f376cdfce2fbf9448d0a2ad6278d746564b4dfdaacad2619d03f211948a8851", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f376cdfce2fbf9448d0a2ad6278d746564b4dfdaacad2619d03f211948a8851", kill_on_drop: false }`
[INFO] [stdout] 1f376cdfce2fbf9448d0a2ad6278d746564b4dfdaacad2619d03f211948a8851
