[INFO] fetching crate palpo 0.0.2...
[INFO] checking palpo-0.0.2 against master#568b11762723b001bfa693d0f21c5dad01d4e813 for pr-148190
[INFO] extracting crate palpo 0.0.2 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate palpo 0.0.2
[INFO] finished tweaking crates.io crate palpo 0.0.2
[INFO] tweaked toml for crates.io crate palpo 0.0.2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate palpo 0.0.2 on toolchain 568b11762723b001bfa693d0f21c5dad01d4e813
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate palpo 0.0.2 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" "+568b11762723b001bfa693d0f21c5dad01d4e813" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-tungstenite v0.26.2
[INFO] [stderr]   Downloaded palpo-identifiers-validation v0.0.2
[INFO] [stderr]   Downloaded chksum-hash-sha2-256 v0.0.1
[INFO] [stderr]   Downloaded salvo-serde-util v0.78.0
[INFO] [stderr]   Downloaded chksum-md5 v0.1.0
[INFO] [stderr]   Downloaded js_option v0.1.1
[INFO] [stderr]   Downloaded migrations_internals v2.2.0
[INFO] [stderr]   Downloaded chksum-sha2 v0.1.0
[INFO] [stderr]   Downloaded chksum-sha1 v0.1.0
[INFO] [stderr]   Downloaded chksum-hash-sha2-512 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-md5 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash v0.5.1
[INFO] [stderr]   Downloaded chksum-hash-sha2 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-core v0.0.0
[INFO] [stderr]   Downloaded diesel_derives v2.2.4
[INFO] [stderr]   Downloaded diesel v2.2.9
[INFO] [stderr]   Downloaded chksum v0.4.0
[INFO] [stderr]   Downloaded yaml-rust2 v0.10.1
[INFO] [stderr]   Downloaded rust_decimal v1.37.1
[INFO] [stderr]   Downloaded palpo-data v0.0.2
[INFO] [stderr]   Downloaded chksum-hash-sha1 v0.0.1
[INFO] [stderr]   Downloaded chksum-sha2-384 v0.1.0
[INFO] [stderr]   Downloaded chksum-core v0.1.0
[INFO] [stderr]   Downloaded dsl_auto_type v0.1.3
[INFO] [stderr]   Downloaded blurhash v0.2.3
[INFO] [stderr]   Downloaded palpo-core v0.0.2
[INFO] [stderr]   Downloaded smallstr v0.3.0
[INFO] [stderr]   Downloaded palpo-macros v0.0.2
[INFO] [stderr]   Downloaded salvo-cors v0.78.0
[INFO] [stderr]   Downloaded inventory v0.3.20
[INFO] [stderr]   Downloaded rust-embed-impl v8.7.0
[INFO] [stderr]   Downloaded str-buf v3.0.3
[INFO] [stderr]   Downloaded etag v4.0.0
[INFO] [stderr]   Downloaded chksum-hash-sha2-224 v0.0.1
[INFO] [stderr]   Downloaded chksum-hash-sha2-384 v0.0.1
[INFO] [stderr]   Downloaded cyborgtime v2.1.1
[INFO] [stderr]   Downloaded fast32 v1.0.3
[INFO] [stderr]   Downloaded as_variant v1.3.0
[INFO] [stderr]   Downloaded diesel_table_macro_syntax v0.2.0
[INFO] [stderr]   Downloaded salvo_core v0.78.0
[INFO] [stderr]   Downloaded migrations_macros v2.2.0
[INFO] [stderr]   Downloaded konst_proc_macros v0.3.10
[INFO] [stderr]   Downloaded salvo-oapi-macros v0.78.0
[INFO] [stderr]   Downloaded mime-infer v4.0.0
[INFO] [stderr]   Downloaded chksum-sha2-256 v0.1.0
[INFO] [stderr]   Downloaded tungstenite v0.26.2
[INFO] [stderr]   Downloaded salvo-oapi v0.78.0
[INFO] [stderr]   Downloaded pq-sys v0.7.1
[INFO] [stderr]   Downloaded salvo-jwt-auth v0.78.0
[INFO] [stderr]   Downloaded salvo-proxy v0.78.0
[INFO] [stderr]   Downloaded rust-embed-utils v8.7.0
[INFO] [stderr]   Downloaded salvo_extra v0.78.0
[INFO] [stderr]   Downloaded salvo v0.78.0
[INFO] [stderr]   Downloaded chksum-sha2-224 v0.1.0
[INFO] [stderr]   Downloaded chksum-sha2-512 v0.1.0
[INFO] [stderr]   Downloaded diesel_migrations v2.2.0
[INFO] [stderr]   Downloaded bcrypt v0.17.0
[INFO] [stderr]   Downloaded cruet v0.15.0
[INFO] [stderr]   Downloaded wildmatch v2.4.0
[INFO] [stderr]   Downloaded salvo-serve-static v0.78.0
[INFO] [stderr]   Downloaded serde-aux v4.6.0
[INFO] [stderr]   Downloaded textnonce v1.0.0
[INFO] [stderr]   Downloaded salvo_macros v0.78.0
[INFO] [stderr]   Downloaded rust-embed v8.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 009ee6ed1c99a7463919ab76707705a64651fdbf9fb58c55a1703b4d0695f338
[INFO] running `Command { std: "docker" "start" "-a" "009ee6ed1c99a7463919ab76707705a64651fdbf9fb58c55a1703b4d0695f338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "009ee6ed1c99a7463919ab76707705a64651fdbf9fb58c55a1703b4d0695f338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "009ee6ed1c99a7463919ab76707705a64651fdbf9fb58c55a1703b4d0695f338", kill_on_drop: false }`
[INFO] [stdout] 009ee6ed1c99a7463919ab76707705a64651fdbf9fb58c55a1703b4d0695f338
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 731f49ff0fef5e88161665a1317494bd9c96512e345a69fa3aa0f3c270eeba2e
[INFO] running `Command { std: "docker" "start" "-a" "731f49ff0fef5e88161665a1317494bd9c96512e345a69fa3aa0f3c270eeba2e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]     Checking portable-atomic v1.11.0
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]     Checking lock_api v0.4.12
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling winnow v0.7.6
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking rustls-pki-types v1.11.0
[INFO] [stderr]     Checking chksum-hash-core v0.0.0
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling rustls v0.23.26
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling mime-infer v4.0.0
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[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-pemfile v2.2.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking xml-rs v0.8.26
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling crunchy v0.2.3
[INFO] [stderr]     Checking headers v0.4.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]     Checking webpki-roots v0.26.8
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling rust-embed-utils v8.7.0
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]    Compiling bigdecimal v0.4.8
[INFO] [stderr]    Compiling pq-sys v0.7.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rust_decimal v1.37.1
[INFO] [stderr]    Compiling built v0.7.7
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking ulid v1.2.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]    Compiling typewit_proc_macros v1.8.1
[INFO] [stderr]     Checking str-buf v3.0.3
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking r2d2 v0.8.10
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking typewit v1.11.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking globset v0.4.16
[INFO] [stderr]     Checking etag v4.0.0
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]     Checking inventory v0.3.20
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking imgref v1.11.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking bitstream-io v2.6.0
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking path-slash v0.2.1
[INFO] [stderr]     Checking yaml-rust2 v0.10.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking konst_kernel v0.3.15
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking rust-ini v0.21.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking tinyvec v1.9.0
[INFO] [stderr]     Checking ignore v0.4.23
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking avif-serialize v0.8.3
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling salvo-serde-util v0.78.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking hostname v0.4.1
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking const_panic v0.2.12
[INFO] [stderr]     Checking inlinable_string v0.1.15
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking data-encoding v2.8.0
[INFO] [stderr]    Compiling konst_proc_macros v0.3.10
[INFO] [stderr]    Compiling blurhash v0.2.3
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking zune-jpeg v0.4.14
[INFO] [stderr]     Checking clap_builder v4.5.36
[INFO] [stderr]     Checking blake2b_simd v1.0.3
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking textnonce v1.0.0
[INFO] [stderr]     Checking exr v1.73.0
[INFO] [stderr]     Checking image-webp v0.2.1
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking konst v0.3.16
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking resolv-conf v0.7.1
[INFO] [stderr]     Checking bcrypt v0.17.0
[INFO] [stderr]     Checking cruet v0.15.0
[INFO] [stderr]     Checking sanitize-filename v0.6.0
[INFO] [stderr]     Checking smallstr v0.3.0
[INFO] [stderr]     Checking http-auth v0.1.10
[INFO] [stderr]     Checking as_variant v1.3.0
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking strum v0.27.1
[INFO] [stderr]     Checking wildmatch v2.4.0
[INFO] [stderr]     Checking rust-argon2 v2.1.0
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking fast32 v1.0.3
[INFO] [stderr]     Checking cyborgtime v2.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking rustls-webpki v0.103.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.11
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling rust-embed-impl v8.7.0
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling dsl_auto_type v0.1.3
[INFO] [stderr]     Checking enumflags2 v0.7.11
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]     Checking chksum-core v0.1.0
[INFO] [stderr]     Checking chksum-hash-sha2-512 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha2-384 v0.0.1
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking chksum-hash-sha2-256 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha2-224 v0.0.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking chksum-hash-sha1 v0.0.1
[INFO] [stderr]     Checking chksum-hash-md5 v0.0.1
[INFO] [stderr]     Checking chksum-hash-sha2 v0.0.1
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking chksum-sha2-224 v0.1.0
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking chksum-sha2-384 v0.1.0
[INFO] [stderr]     Checking chksum-sha2-256 v0.1.0
[INFO] [stderr]     Checking chksum-sha2-512 v0.1.0
[INFO] [stderr]    Compiling palpo-identifiers-validation v0.0.2
[INFO] [stderr]    Compiling serde_with_macros v3.12.0
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]     Checking rust-embed v8.7.0
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking chksum-hash v0.5.1
[INFO] [stderr]     Checking chksum-sha1 v0.1.0
[INFO] [stderr]    Compiling diesel_derives v2.2.4
[INFO] [stderr]     Checking chksum-sha2 v0.1.0
[INFO] [stderr]     Checking chksum-md5 v0.1.0
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking moka v0.12.10
[INFO] [stderr]    Compiling strum_macros v0.27.1
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]     Checking chksum v0.4.0
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking pear v0.2.9
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking clap v4.5.36
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking tokio-util v0.7.14
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking serde-xml-rs v0.6.0
[INFO] [stderr]     Checking multimap v0.10.0
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking h2 v0.4.8
[INFO] [stderr]     Checking toml_edit v0.22.24
[INFO] [stderr]     Checking serde_norway v0.9.42
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking serde-aux v4.6.0
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]     Checking serde_with v3.12.0
[INFO] [stderr]     Checking js_option v0.1.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking hickory-proto v0.25.1
[INFO] [stderr]     Checking tempfile v3.19.1
[INFO] [stderr]     Checking toml v0.8.20
[INFO] [stderr]     Checking migrations_internals v2.2.0
[INFO] [stderr]     Checking config v0.15.11
[INFO] [stderr]     Checking diesel v2.2.9
[INFO] [stderr]     Checking ravif v0.11.11
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]    Compiling salvo_macros v0.78.0
[INFO] [stderr]    Compiling salvo-oapi-macros v0.78.0
[INFO] [stderr]     Checking hickory-resolver v0.25.1
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]    Compiling palpo-macros v0.0.2
[INFO] [stderr]    Compiling migrations_macros v2.2.0
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-util v0.1.11
[INFO] [stderr]     Checking salvo_core v0.78.0
[INFO] [stderr]     Checking hyper-rustls v0.27.5
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.15
[INFO] [stderr]     Checking salvo-jwt-auth v0.78.0
[INFO] [stderr]     Checking salvo-proxy v0.78.0
[INFO] [stderr]     Checking salvo-oapi v0.78.0
[INFO] [stderr]     Checking salvo-serve-static v0.78.0
[INFO] [stderr]     Checking salvo-cors v0.78.0
[INFO] [stderr]     Checking salvo_extra v0.78.0
[INFO] [stderr]     Checking salvo v0.78.0
[INFO] [stderr]     Checking diesel_migrations v2.2.0
[INFO] [stderr]     Checking palpo-core v0.0.2
[INFO] [stderr]     Checking palpo-data v0.0.2
[INFO] [stderr]     Checking palpo v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `crate::utils::string`
[INFO] [stdout]    --> src/utils/content_disposition.rs:129:27
[INFO] [stdout]     |
[INFO] [stdout] 129 |         use crate::utils::string::EMPTY;
[INFO] [stdout]     |                           ^^^^^^ could not find `string` in `utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/hoops/auth.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AppResult, AuthArgs, AuthedInfo, MatrixError, data};
[INFO] [stdout]    |                                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/account/password.rs:10:55
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{AuthArgs, EmptyResult, SESSION_ID_LENGTH, data, empty_ok, hoops, utils};
[INFO] [stdout]    |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/device.rs:14:87
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, SESSION_ID_LENGTH, data, empty_ok, json_ok, utils};
[INFO] [stdout]    |                                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::seq::SliceRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RoomInfoResBody` and `directory_request`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::federation::query::{RoomInfoResBody, directory_request};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `data`
[INFO] [stdout]   --> src/routing/client/directory/alias.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AppError, AuthArgs, EmptyResult, JsonResult, MatrixError, data, diesel_exists, empty_ok, json_ok};
[INFO] [stdout]    |             ^^^^^^^^                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AuthArgs, data, diesel_exists};
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/profile.rs:19:75
[INFO] [stdout]    |
[INFO] [stdout] 19 |     AppError, AuthArgs, EmptyResult, JsonResult, MatrixError, PduBuilder, data, diesel_exists, empty_ok, hoops, json_ok,
[INFO] [stdout]    |                                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/register.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |     SESSION_ID_LENGTH, TOKEN_LENGTH, data, diesel_exists, empty_ok, exts::*, hoops, utils,
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::io::empty`
[INFO] [stdout]  --> src/routing/client/room/membership.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures_util::io::empty;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/room/membership.rs:29:85
[INFO] [stdout]    |
[INFO] [stdout] 29 |     AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, PduBuilder, data, diesel_exists, empty_ok,
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/room/message.rs:15:60
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AuthArgs, JsonResult, MatrixError, PduBuilder, data, exts::*, json_ok};
[INFO] [stdout]    |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/routing/client/room/receipt.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::room::ReportContentReqBody`
[INFO] [stdout]  --> src/routing/client/room/receipt.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::room::ReportContentReqBody;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SendStateEventReqBody`, `SendStateEventResBody`, `StateEventsForEmptyKeyReqArgs`, `StateEventsForKeyReqArgs`, `StateEventsForKeyResBody`, and `StateEventsResBody`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     SendStateEventReqBody, SendStateEventResBody, StateEventsForEmptyKeyReqArgs, StateEventsForKeyReqArgs,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     StateEventsForKeyResBody, StateEventsResBody,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CreateTypingEventReqBody` and `Typing`
[INFO] [stdout]   --> src/routing/client/room/receipt.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::events::room::message::RoomMessageEventContent`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | 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/room/receipt.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::identifiers::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RoomEventReqArgs`, `RoomEventTypeReqArgs`, and `RoomTypingReqArgs`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::room::{RoomEventReqArgs, RoomEventTypeReqArgs, RoomTypingReqArgs};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::room::state::UserCanSeeEvent`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::room::state::UserCanSeeEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::HtmlEscape`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::utils::HtmlEscape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult`, `MatrixError`, and `json_ok`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:22:56
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, empty_ok, json_ok};
[INFO] [stdout]    |                                                        ^^^^^^^^^^  ^^^^^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/routing/client/room/space.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/routing/client/room/space.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{BTreeMap, BTreeSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/routing/client/room/space.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use salvo::oapi::extract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/routing/client/room/space.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value`
[INFO] [stdout]  --> src/routing/client/room/space.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::value::to_raw_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicRoomsFilteredReqBody` and `PublicRoomsReqArgs`
[INFO] [stdout]   --> src/routing/client/room/space.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::directory::{PublicRoomsFilteredReqBody, PublicRoomsReqArgs};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicRoomFilter`, `PublicRoomsResBody`, and `RoomNetwork`
[INFO] [stdout]   --> src/routing/client/room/space.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::directory::{PublicRoomFilter, PublicRoomsResBody, RoomNetwork};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::name::RoomNameEventContent`
[INFO] [stdout]   --> src/routing/client/room/space.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::events::room::name::RoomNameEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/room_key.rs:12:71
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, data, empty_ok, hoops, json_ok};
[INFO] [stdout]    |                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map`
[INFO] [stdout]  --> src/routing/client/sync_v3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/routing/client/sync_v3.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{AppError, AuthArgs, DepotExt, JsonResult, json_ok};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/user_directory.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AuthArgs, DepotExt, JsonResult, data, hoops, json_ok};
[INFO] [stdout]    |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/media.rs:25:64
[INFO] [stdout]    |
[INFO] [stdout] 25 |     AppResult, AuthArgs, EmptyResult, JsonResult, MatrixError, data, empty_ok, exts::*, hoops, json_ok, utils,
[INFO] [stdout]    |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PduEvent`
[INFO] [stdout]  --> src/routing/federation/event.rs:9:81
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, PduEvent, empty_ok, json_ok};
[INFO] [stdout]   |                                                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::media::*`
[INFO] [stdout]   --> src/routing/federation/media.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::media::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/federation/media.rs:22:47
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{AppResult, AuthArgs, MatrixError, data, hoops};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/federation/user.rs:13:68
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppError, CjsonResult, DepotExt, JsonResult, cjson_ok, data, json_ok};
[INFO] [stdout]    |                                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/appservice.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppError, AppResult, data};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/event/handler/mod.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::{AppError, AppResult, MatrixError, data, exts::*};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/event/search.rs:13:47
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, MatrixError, PduEvent, data};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/event/search.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |             .map(|v| (("content.name", v))),
[INFO] [stdout]     |                      ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -             .map(|v| (("content.name", v))),
[INFO] [stdout] 122 +             .map(|v| ("content.name", v) ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/event/search.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 |             .map(|v| (("content.topic", v))),
[INFO] [stdout]     |                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -             .map(|v| (("content.topic", v))),
[INFO] [stdout] 126 +             .map(|v| ("content.topic", v) ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/event/search.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 |             .map(|v| (("content.message", v))),
[INFO] [stdout]     |                      ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 130 -             .map(|v| (("content.message", v))),
[INFO] [stdout] 130 +             .map(|v| ("content.message", v) ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/event/mod.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AppError, AppResult, MatrixError, data};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/mod.rs:20:60
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::{AppError, AppResult, MatrixError, SigningKeys, data};
[INFO] [stdout]    |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/membership/forget.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, MatrixError, data, diesel_exists};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/join.rs:30:97
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::{AppError, AppResult, GetUrlOrigin, IsRemoteOrLocal, MatrixError, OptionalExtension, data};
[INFO] [stdout]    |                                                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_exists`
[INFO] [stdout]   --> src/membership/knock.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::data::{connect, diesel_exists};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/knock.rs:23:78
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::{AppError, AppResult, GetUrlOrigin, IsRemoteOrLocal, MatrixError, data};
[INFO] [stdout]    |                                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/leave.rs:16:61
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, data};
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/membership/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use invite::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/membership/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use invite::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/alias/mod.rs:18:73
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, PduBuilder, data};
[INFO] [stdout]    |                                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/auth_chain.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, MatrixError, data};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/current.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/directory.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/lazy_loading.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{AppResult, data, diesel_exists};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/pdu_metadata.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, data};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/receipt.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, data};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `room::state::DbRoomStateField`
[INFO] [stdout]   --> src/room/space/mod.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, room::state::DbRoomStateField};
[INFO] [stdout]    |             ^^^^^^^^                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/state/diff.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, data, utils};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/state/field.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/state/frame.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{AppResult, MatrixError, data};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/room/state/graph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::from_str as from_json_str`
[INFO] [stdout]  --> src/room/state/graph.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::from_str as from_json_str;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::Seqnum`
[INFO] [stdout]   --> src/room/state/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::Seqnum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/state/mod.rs:38:47
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::{AppError, AppResult, MatrixError, data, utils};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/timeline.rs:34:61
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, data, diesel_exists, utils};
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixMillis`
[INFO] [stdout]  --> src/room/user.rs:8:47
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::{JsonValue, RawJson, Seqnum, UnixMillis};
[INFO] [stdout]   |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/thread.rs:11:47
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, MatrixError, PduEvent, data};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::direct::DirectEventContent`
[INFO] [stdout]   --> src/room/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::events::direct::DirectEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::create::RoomCreateEventContent`
[INFO] [stdout]   --> src/room/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::core::events::room::create::RoomCreateEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyStrippedStateEvent`, `GlobalAccountDataEventType`, and `RoomAccountDataEventType`
[INFO] [stdout]   --> src/room/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     AnyStrippedStateEvent, AnySyncStateEvent, GlobalAccountDataEventType, RoomAccountDataEventType, StateEventType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::room::RoomType`
[INFO] [stdout]   --> src/room/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::core::room::RoomType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/mod.rs:38:77
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::{APPSERVICE_IN_ROOM_CACHE, AppError, AppResult, IsRemoteOrLocal, data, diesel_exists};
[INFO] [stdout]    |                                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/server_key/mod.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{AppError, AppResult, data, exts::*};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DbEventTxnId`
[INFO] [stdout]  --> src/transaction_id.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::room::{DbEventTxnId, NewDbEventTxnId};
[INFO] [stdout]   |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/transaction_id.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{AppResult, data, diesel_exists};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/uiaa.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, MatrixError, data, utils};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/user/device.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppError, AppResult, data, diesel_exists};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/user/password.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{AppResult, MatrixError, data, utils};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/user/profile.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/user/filter.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/user/pusher.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::{AppError, AppResult, AuthedInfo, data};
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/user/key_backup.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, data};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/signing_keys.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/signing_keys.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::future::Future`
[INFO] [stdout]  --> src/signing_keys.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr` and `SocketAddr`
[INFO] [stdout]  --> src/signing_keys.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/signing_keys.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/signing_keys.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/signing_keys.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/signing_keys.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicBool`
[INFO] [stdout]  --> src/signing_keys.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::AtomicBool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `LazyLock`, `Mutex`, `OnceLock`, and `RwLock`
[INFO] [stdout]   --> src/signing_keys.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, LazyLock, Mutex, OnceLock, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/signing_keys.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `future` and `iter`
[INFO] [stdout]   --> src/signing_keys.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{future, iter};
[INFO] [stdout]    |           ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]   --> src/signing_keys.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use diesel::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stream::FuturesUnordered`
[INFO] [stdout]   --> src/signing_keys.rs:15:42
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GaiResolver` and `Name as HyperName`
[INFO] [stdout]   --> src/signing_keys.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 | use hyper_util::client::legacy::connect::dns::{GaiResolver, Name as HyperName};
[INFO] [stdout]    |                                                ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Addrs`, `Name`, `Resolve`, and `Resolving`
[INFO] [stdout]   --> src/signing_keys.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use reqwest::dns::{Addrs, Name, Resolve, Resolving};
[INFO] [stdout]    |                    ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToSchema`
[INFO] [stdout]   --> src/signing_keys.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use salvo::oapi::ToSchema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]   --> src/signing_keys.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Semaphore`, `broadcast`, and `watch::Receiver`
[INFO] [stdout]   --> src/signing_keys.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::sync::{Semaphore, broadcast, watch::Receiver};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::sync_events`
[INFO] [stdout]   --> src/signing_keys.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::client::sync_events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::identifiers::*`
[INFO] [stdout]   --> src/signing_keys.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::core::identifiers::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalJsonObject`, `JsonValue`, and `RawJsonValue`
[INFO] [stdout]   --> src/signing_keys.rs:25:34
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::serde::{Base64, CanonicalJsonObject, JsonValue, RawJsonValue};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::signatures::Ed25519KeyPair`
[INFO] [stdout]   --> src/signing_keys.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::core::signatures::Ed25519KeyPair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Seqnum`
[INFO] [stdout]   --> src/signing_keys.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::core::{Seqnum, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::connect`
[INFO] [stdout]   --> src/signing_keys.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::data::connect;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::schema::*`
[INFO] [stdout]   --> src/signing_keys.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::data::schema::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `MatrixError`, and `ServerConfig`
[INFO] [stdout]   --> src/signing_keys.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::{AppResult, MatrixError, ServerConfig};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/sync_v3.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> src/sync_v3.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::watch::Sender`
[INFO] [stdout]  --> src/sync_v3.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::sync::watch::Sender;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::schema::*`
[INFO] [stdout]  --> src/sync_v4.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::schema::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::JsonValue`
[INFO] [stdout]  --> src/sync_v5.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use palpo_core::JsonValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]  --> src/sync_v5.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::UnixMillis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `HashMap`
[INFO] [stdout]  --> src/watcher.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/watcher.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error as StdError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr` and `SocketAddr`
[INFO] [stdout]  --> src/watcher.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/watcher.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/watcher.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/watcher.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicBool`
[INFO] [stdout]  --> src/watcher.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::AtomicBool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `LazyLock`, `Mutex`, `OnceLock`, and `RwLock`
[INFO] [stdout]   --> src/watcher.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, LazyLock, Mutex, OnceLock, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `SystemTime`
[INFO] [stdout]   --> src/watcher.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `future` and `iter`
[INFO] [stdout]   --> src/watcher.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{future, iter};
[INFO] [stdout]    |           ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/watcher.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hickory_resolver::Resolver as HickoryResolver`
[INFO] [stdout]   --> src/watcher.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use hickory_resolver::Resolver as HickoryResolver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hickory_resolver::config::*`
[INFO] [stdout]   --> src/watcher.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use hickory_resolver::config::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hickory_resolver::name_server::TokioConnectionProvider`
[INFO] [stdout]   --> src/watcher.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use hickory_resolver::name_server::TokioConnectionProvider;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GaiResolver` and `Name as HyperName`
[INFO] [stdout]   --> src/watcher.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 | use hyper_util::client::legacy::connect::dns::{GaiResolver, Name as HyperName};
[INFO] [stdout]    |                                                ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Addrs`, `Name`, `Resolve`, and `Resolving`
[INFO] [stdout]   --> src/watcher.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | use reqwest::dns::{Addrs, Name, Resolve, Resolving};
[INFO] [stdout]    |                    ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToSchema`
[INFO] [stdout]   --> src/watcher.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use salvo::oapi::ToSchema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/watcher.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Semaphore`, `broadcast`, and `watch::Receiver`
[INFO] [stdout]   --> src/watcher.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::sync::{Semaphore, broadcast, watch::Receiver};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_service::Service as TowerService`
[INFO] [stdout]   --> src/watcher.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tower_service::Service as TowerService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::sync_events`
[INFO] [stdout]   --> src/watcher.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::core::client::sync_events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OldVerifyKey`, `ServerSigningKeys`, and `VerifyKey`
[INFO] [stdout]   --> src/watcher.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::core::federation::discovery::{OldVerifyKey, ServerSigningKeys, VerifyKey};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Base64`, `CanonicalJsonObject`, `JsonValue`, and `RawJsonValue`
[INFO] [stdout]   --> src/watcher.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::core::serde::{Base64, CanonicalJsonObject, JsonValue, RawJsonValue};
[INFO] [stdout]    |                          ^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::signatures::Ed25519KeyPair`
[INFO] [stdout]   --> src/watcher.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::core::signatures::Ed25519KeyPair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixMillis`
[INFO] [stdout]   --> src/watcher.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::core::{Seqnum, UnixMillis};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `ServerConfig`
[INFO] [stdout]   --> src/watcher.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::{AppResult, MatrixError, ServerConfig};
[INFO] [stdout]    |                        ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/global.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]   --> src/global.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant, SystemTime};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stream::FuturesUnordered`
[INFO] [stdout]   --> src/global.rs:15:42
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]   --> src/global.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerifyKey`
[INFO] [stdout]   --> src/global.rs:27:75
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::core::federation::discovery::{OldVerifyKey, ServerSigningKeys, VerifyKey};
[INFO] [stdout]    |                                                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Seqnum`
[INFO] [stdout]   --> src/global.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::core::{Seqnum, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/hoops/auth.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AppResult, AuthArgs, AuthedInfo, MatrixError, data};
[INFO] [stdout]    |                                                           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/account/password.rs:10:55
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{AuthArgs, EmptyResult, SESSION_ID_LENGTH, data, empty_ok, hoops, utils};
[INFO] [stdout]    |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/device.rs:14:87
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, SESSION_ID_LENGTH, data, empty_ok, json_ok, utils};
[INFO] [stdout]    |                                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::seq::SliceRandom`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::seq::SliceRandom;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RoomInfoResBody` and `directory_request`
[INFO] [stdout]  --> src/routing/client/directory/alias.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::federation::query::{RoomInfoResBody, directory_request};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `data`
[INFO] [stdout]   --> src/routing/client/directory/alias.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AppError, AuthArgs, EmptyResult, JsonResult, MatrixError, data, diesel_exists, empty_ok, json_ok};
[INFO] [stdout]    |             ^^^^^^^^                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/directory/room.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AuthArgs, data, diesel_exists};
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/profile.rs:19:75
[INFO] [stdout]    |
[INFO] [stdout] 19 |     AppError, AuthArgs, EmptyResult, JsonResult, MatrixError, PduBuilder, data, diesel_exists, empty_ok, hoops, json_ok,
[INFO] [stdout]    |                                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/register.rs:20:38
[INFO] [stdout]    |
[INFO] [stdout] 20 |     SESSION_ID_LENGTH, TOKEN_LENGTH, data, diesel_exists, empty_ok, exts::*, hoops, utils,
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_util::io::empty`
[INFO] [stdout]  --> src/routing/client/room/membership.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures_util::io::empty;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/room/membership.rs:29:85
[INFO] [stdout]    |
[INFO] [stdout] 29 |     AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, PduBuilder, data, diesel_exists, empty_ok,
[INFO] [stdout]    |                                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/room/message.rs:15:60
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AuthArgs, JsonResult, MatrixError, PduBuilder, data, exts::*, json_ok};
[INFO] [stdout]    |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/routing/client/room/receipt.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::room::ReportContentReqBody`
[INFO] [stdout]  --> src/routing/client/room/receipt.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::core::client::room::ReportContentReqBody;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SendStateEventReqBody`, `SendStateEventResBody`, `StateEventsForEmptyKeyReqArgs`, `StateEventsForKeyReqArgs`, `StateEventsForKeyResBody`, and `StateEventsResBody`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     SendStateEventReqBody, SendStateEventResBody, StateEventsForEmptyKeyReqArgs, StateEventsForKeyReqArgs,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     StateEventsForKeyResBody, StateEventsResBody,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CreateTypingEventReqBody` and `Typing`
[INFO] [stdout]   --> src/routing/client/room/receipt.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::events::room::message::RoomMessageEventContent`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | 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/room/receipt.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::identifiers::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RoomEventReqArgs`, `RoomEventTypeReqArgs`, and `RoomTypingReqArgs`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::core::room::{RoomEventReqArgs, RoomEventTypeReqArgs, RoomTypingReqArgs};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::room::state::UserCanSeeEvent`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::room::state::UserCanSeeEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::HtmlEscape`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::utils::HtmlEscape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsonResult`, `MatrixError`, and `json_ok`
[INFO] [stdout]   --> src/routing/client/room/receipt.rs:22:56
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, empty_ok, json_ok};
[INFO] [stdout]    |                                                        ^^^^^^^^^^  ^^^^^^^^^^^            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/routing/client/room/space.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> src/routing/client/room/space.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{BTreeMap, BTreeSet, VecDeque};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::extract::*`
[INFO] [stdout]  --> src/routing/client/room/space.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use salvo::oapi::extract::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/routing/client/room/space.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::value::to_raw_value`
[INFO] [stdout]  --> src/routing/client/room/space.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::value::to_raw_value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicRoomsFilteredReqBody` and `PublicRoomsReqArgs`
[INFO] [stdout]   --> src/routing/client/room/space.rs:10:38
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::core::client::directory::{PublicRoomsFilteredReqBody, PublicRoomsReqArgs};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PublicRoomFilter`, `PublicRoomsResBody`, and `RoomNetwork`
[INFO] [stdout]   --> src/routing/client/room/space.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::core::directory::{PublicRoomFilter, PublicRoomsResBody, RoomNetwork};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::name::RoomNameEventContent`
[INFO] [stdout]   --> src/routing/client/room/space.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::core::events::room::name::RoomNameEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/room_key.rs:12:71
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, data, empty_ok, hoops, json_ok};
[INFO] [stdout]    |                                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map`
[INFO] [stdout]  --> src/routing/client/sync_v3.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/routing/client/sync_v3.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{AppError, AuthArgs, DepotExt, JsonResult, json_ok};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/user_directory.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{AuthArgs, DepotExt, JsonResult, data, hoops, json_ok};
[INFO] [stdout]    |                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/client/media.rs:25:64
[INFO] [stdout]    |
[INFO] [stdout] 25 |     AppResult, AuthArgs, EmptyResult, JsonResult, MatrixError, data, empty_ok, exts::*, hoops, json_ok, utils,
[INFO] [stdout]    |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PduEvent`
[INFO] [stdout]  --> src/routing/federation/event.rs:9:81
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{AppError, AuthArgs, DepotExt, EmptyResult, JsonResult, MatrixError, PduEvent, empty_ok, json_ok};
[INFO] [stdout]   |                                                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::media::*`
[INFO] [stdout]   --> src/routing/federation/media.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::media::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/federation/media.rs:22:47
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{AppResult, AuthArgs, MatrixError, data, hoops};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/routing/federation/user.rs:13:68
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppError, CjsonResult, DepotExt, JsonResult, cjson_ok, data, json_ok};
[INFO] [stdout]    |                                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/appservice.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppError, AppResult, data};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/event/handler/mod.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::{AppError, AppResult, MatrixError, data, exts::*};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/event/search.rs:13:47
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, MatrixError, PduEvent, data};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/event/search.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |             .map(|v| (("content.name", v))),
[INFO] [stdout]     |                      ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -             .map(|v| (("content.name", v))),
[INFO] [stdout] 122 +             .map(|v| ("content.name", v) ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/event/search.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 |             .map(|v| (("content.topic", v))),
[INFO] [stdout]     |                      ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -             .map(|v| (("content.topic", v))),
[INFO] [stdout] 126 +             .map(|v| ("content.topic", v) ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/event/search.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 |             .map(|v| (("content.message", v))),
[INFO] [stdout]     |                      ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 130 -             .map(|v| (("content.message", v))),
[INFO] [stdout] 130 +             .map(|v| ("content.message", v) ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/event/mod.rs:15:47
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::{AppError, AppResult, MatrixError, data};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/mod.rs:20:60
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::{AppError, AppResult, MatrixError, SigningKeys, data};
[INFO] [stdout]    |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/membership/forget.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, MatrixError, data, diesel_exists};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/join.rs:30:97
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::{AppError, AppResult, GetUrlOrigin, IsRemoteOrLocal, MatrixError, OptionalExtension, data};
[INFO] [stdout]    |                                                                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel_exists`
[INFO] [stdout]   --> src/membership/knock.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::data::{connect, diesel_exists};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/knock.rs:23:78
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::{AppError, AppResult, GetUrlOrigin, IsRemoteOrLocal, MatrixError, data};
[INFO] [stdout]    |                                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/membership/leave.rs:16:61
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, data};
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/membership/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use invite::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/membership/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use invite::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/alias/mod.rs:18:73
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, PduBuilder, data};
[INFO] [stdout]    |                                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/auth_chain.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, MatrixError, data};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/current.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/directory.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/lazy_loading.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{AppResult, data, diesel_exists};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/pdu_metadata.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, data};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/receipt.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, data};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `room::state::DbRoomStateField`
[INFO] [stdout]   --> src/room/space/mod.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, room::state::DbRoomStateField};
[INFO] [stdout]    |             ^^^^^^^^                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/state/diff.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, data, utils};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/room/state/field.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/state/frame.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{AppResult, MatrixError, data};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/room/state/graph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::from_str as from_json_str`
[INFO] [stdout]  --> src/room/state/graph.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::from_str as from_json_str;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::Seqnum`
[INFO] [stdout]   --> src/room/state/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::core::Seqnum;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/state/mod.rs:38:47
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::{AppError, AppResult, MatrixError, data, utils};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/timeline.rs:34:61
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::{AppError, AppResult, GetUrlOrigin, MatrixError, data, diesel_exists, utils};
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixMillis`
[INFO] [stdout]  --> src/room/user.rs:8:47
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::{JsonValue, RawJson, Seqnum, UnixMillis};
[INFO] [stdout]   |                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/thread.rs:11:47
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, MatrixError, PduEvent, data};
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::direct::DirectEventContent`
[INFO] [stdout]   --> src/room/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::events::direct::DirectEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::events::room::create::RoomCreateEventContent`
[INFO] [stdout]   --> src/room/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::core::events::room::create::RoomCreateEventContent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnyStrippedStateEvent`, `GlobalAccountDataEventType`, and `RoomAccountDataEventType`
[INFO] [stdout]   --> src/room/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     AnyStrippedStateEvent, AnySyncStateEvent, GlobalAccountDataEventType, RoomAccountDataEventType, StateEventType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::room::RoomType`
[INFO] [stdout]   --> src/room/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::core::room::RoomType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/room/mod.rs:38:77
[INFO] [stdout]    |
[INFO] [stdout] 38 | use crate::{APPSERVICE_IN_ROOM_CACHE, AppError, AppResult, IsRemoteOrLocal, data, diesel_exists};
[INFO] [stdout]    |                                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/server_key/mod.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::{AppError, AppResult, data, exts::*};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DbEventTxnId`
[INFO] [stdout]  --> src/transaction_id.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::data::room::{DbEventTxnId, NewDbEventTxnId};
[INFO] [stdout]   |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/transaction_id.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{AppResult, data, diesel_exists};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/uiaa.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::{AppResult, MatrixError, data, utils};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/user/device.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppError, AppResult, data, diesel_exists};
[INFO] [stdout]    |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/user/password.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{AppResult, MatrixError, data, utils};
[INFO] [stdout]   |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/user/profile.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]  --> src/user/filter.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{AppResult, data};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/user/pusher.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::{AppError, AppResult, AuthedInfo, data};
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data`
[INFO] [stdout]   --> src/user/key_backup.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::{AppResult, data};
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/signing_keys.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/signing_keys.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::future::Future`
[INFO] [stdout]  --> src/signing_keys.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr` and `SocketAddr`
[INFO] [stdout]  --> src/signing_keys.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/signing_keys.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/signing_keys.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/signing_keys.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/signing_keys.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicBool`
[INFO] [stdout]  --> src/signing_keys.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::AtomicBool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `LazyLock`, `Mutex`, `OnceLock`, and `RwLock`
[INFO] [stdout]   --> src/signing_keys.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, LazyLock, Mutex, OnceLock, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> src/signing_keys.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `future` and `iter`
[INFO] [stdout]   --> src/signing_keys.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{future, iter};
[INFO] [stdout]    |           ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `diesel::prelude::*`
[INFO] [stdout]   --> src/signing_keys.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use diesel::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stream::FuturesUnordered`
[INFO] [stdout]   --> src/signing_keys.rs:15:42
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GaiResolver` and `Name as HyperName`
[INFO] [stdout]   --> src/signing_keys.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 | use hyper_util::client::legacy::connect::dns::{GaiResolver, Name as HyperName};
[INFO] [stdout]    |                                                ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Addrs`, `Name`, `Resolve`, and `Resolving`
[INFO] [stdout]   --> src/signing_keys.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | use reqwest::dns::{Addrs, Name, Resolve, Resolving};
[INFO] [stdout]    |                    ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToSchema`
[INFO] [stdout]   --> src/signing_keys.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use salvo::oapi::ToSchema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]   --> src/signing_keys.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Semaphore`, `broadcast`, and `watch::Receiver`
[INFO] [stdout]   --> src/signing_keys.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio::sync::{Semaphore, broadcast, watch::Receiver};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::sync_events`
[INFO] [stdout]   --> src/signing_keys.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::client::sync_events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::identifiers::*`
[INFO] [stdout]   --> src/signing_keys.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::core::identifiers::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CanonicalJsonObject`, `JsonValue`, and `RawJsonValue`
[INFO] [stdout]   --> src/signing_keys.rs:25:34
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::core::serde::{Base64, CanonicalJsonObject, JsonValue, RawJsonValue};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::signatures::Ed25519KeyPair`
[INFO] [stdout]   --> src/signing_keys.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::core::signatures::Ed25519KeyPair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Seqnum`
[INFO] [stdout]   --> src/signing_keys.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::core::{Seqnum, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::connect`
[INFO] [stdout]   --> src/signing_keys.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::data::connect;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::schema::*`
[INFO] [stdout]   --> src/signing_keys.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::data::schema::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppResult`, `MatrixError`, and `ServerConfig`
[INFO] [stdout]   --> src/signing_keys.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::{AppResult, MatrixError, ServerConfig};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/sync_v3.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> src/sync_v3.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::watch::Sender`
[INFO] [stdout]  --> src/sync_v3.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::sync::watch::Sender;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::data::schema::*`
[INFO] [stdout]  --> src/sync_v4.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::data::schema::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `palpo_core::JsonValue`
[INFO] [stdout]  --> src/sync_v5.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use palpo_core::JsonValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::UnixMillis`
[INFO] [stdout]  --> src/sync_v5.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::core::UnixMillis;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `HashMap`
[INFO] [stdout]  --> src/watcher.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{BTreeMap, HashMap};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error as StdError`
[INFO] [stdout]  --> src/watcher.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error as StdError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr` and `SocketAddr`
[INFO] [stdout]  --> src/watcher.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/watcher.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/watcher.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/watcher.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicBool`
[INFO] [stdout]  --> src/watcher.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::atomic::AtomicBool;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `LazyLock`, `Mutex`, `OnceLock`, and `RwLock`
[INFO] [stdout]   --> src/watcher.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::{Arc, LazyLock, Mutex, OnceLock, RwLock};
[INFO] [stdout]    |                 ^^^  ^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `SystemTime`
[INFO] [stdout]   --> src/watcher.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant, SystemTime};
[INFO] [stdout]    |                           ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `future` and `iter`
[INFO] [stdout]   --> src/watcher.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{future, iter};
[INFO] [stdout]    |           ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/watcher.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hickory_resolver::Resolver as HickoryResolver`
[INFO] [stdout]   --> src/watcher.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use hickory_resolver::Resolver as HickoryResolver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hickory_resolver::config::*`
[INFO] [stdout]   --> src/watcher.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use hickory_resolver::config::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hickory_resolver::name_server::TokioConnectionProvider`
[INFO] [stdout]   --> src/watcher.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use hickory_resolver::name_server::TokioConnectionProvider;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GaiResolver` and `Name as HyperName`
[INFO] [stdout]   --> src/watcher.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 19 | use hyper_util::client::legacy::connect::dns::{GaiResolver, Name as HyperName};
[INFO] [stdout]    |                                                ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Addrs`, `Name`, `Resolve`, and `Resolving`
[INFO] [stdout]   --> src/watcher.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | use reqwest::dns::{Addrs, Name, Resolve, Resolving};
[INFO] [stdout]    |                    ^^^^^  ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `salvo::oapi::ToSchema`
[INFO] [stdout]   --> src/watcher.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use salvo::oapi::ToSchema;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/watcher.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Semaphore`, `broadcast`, and `watch::Receiver`
[INFO] [stdout]   --> src/watcher.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio::sync::{Semaphore, broadcast, watch::Receiver};
[INFO] [stdout]    |                   ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tower_service::Service as TowerService`
[INFO] [stdout]   --> src/watcher.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use tower_service::Service as TowerService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::client::sync_events`
[INFO] [stdout]   --> src/watcher.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::core::client::sync_events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OldVerifyKey`, `ServerSigningKeys`, and `VerifyKey`
[INFO] [stdout]   --> src/watcher.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::core::federation::discovery::{OldVerifyKey, ServerSigningKeys, VerifyKey};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Base64`, `CanonicalJsonObject`, `JsonValue`, and `RawJsonValue`
[INFO] [stdout]   --> src/watcher.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::core::serde::{Base64, CanonicalJsonObject, JsonValue, RawJsonValue};
[INFO] [stdout]    |                          ^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::signatures::Ed25519KeyPair`
[INFO] [stdout]   --> src/watcher.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::core::signatures::Ed25519KeyPair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UnixMillis`
[INFO] [stdout]   --> src/watcher.rs:31:27
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::core::{Seqnum, UnixMillis};
[INFO] [stdout]    |                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MatrixError` and `ServerConfig`
[INFO] [stdout]   --> src/watcher.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::{AppResult, MatrixError, ServerConfig};
[INFO] [stdout]    |                        ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> src/global.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SystemTime`
[INFO] [stdout]   --> src/global.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant, SystemTime};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stream::FuturesUnordered`
[INFO] [stdout]   --> src/global.rs:15:42
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]   --> src/global.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VerifyKey`
[INFO] [stdout]   --> src/global.rs:27:75
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::core::federation::discovery::{OldVerifyKey, ServerSigningKeys, VerifyKey};
[INFO] [stdout]    |                                                                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Seqnum`
[INFO] [stdout]   --> src/global.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::core::{Seqnum, UnixMillis};
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `mime_infer::infer_mime_type`: Use `from_path(path).first_or_octet_stream()` instead
[INFO] [stdout]   --> src/routing/client/media.rs:62:45
[INFO] [stdout]    |
[INFO] [stdout] 62 |                     .map(|name| mime_infer::infer_mime_type(name))
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `mime_infer::infer_mime_type`: Use `from_path(path).first_or_octet_stream()` instead
[INFO] [stdout]    --> src/routing/client/media.rs:107:37
[INFO] [stdout]     |
[INFO] [stdout] 107 |             .map(|name| mime_infer::infer_mime_type(name))
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `mime_infer::infer_mime_type`: Use `from_path(path).first_or_octet_stream()` instead
[INFO] [stdout]   --> src/routing/federation/media.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 |                     .map(|name| mime_infer::infer_mime_type(name))
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]    --> src/room/mod.rs:424:32
[INFO] [stdout]     |
[INFO] [stdout] 424 |     servers.shuffle(&mut rand::thread_rng());
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]    --> src/room/alias/mod.rs:162:41
[INFO] [stdout]     |
[INFO] [stdout] 162 |         body.servers.shuffle(&mut rand::thread_rng());
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/global.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |             let bytes = base64::decode(&keypair.document).expect("server keypair is invalid base64 string");
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `mime_infer::infer_mime_type`: Use `from_path(path).first_or_octet_stream()` instead
[INFO] [stdout]   --> src/routing/client/media.rs:62:45
[INFO] [stdout]    |
[INFO] [stdout] 62 |                     .map(|name| mime_infer::infer_mime_type(name))
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `mime_infer::infer_mime_type`: Use `from_path(path).first_or_octet_stream()` instead
[INFO] [stdout]    --> src/routing/client/media.rs:107:37
[INFO] [stdout]     |
[INFO] [stdout] 107 |             .map(|name| mime_infer::infer_mime_type(name))
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `mime_infer::infer_mime_type`: Use `from_path(path).first_or_octet_stream()` instead
[INFO] [stdout]   --> src/routing/federation/media.rs:48:45
[INFO] [stdout]    |
[INFO] [stdout] 48 |                     .map(|name| mime_infer::infer_mime_type(name))
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]    --> src/room/mod.rs:424:32
[INFO] [stdout]     |
[INFO] [stdout] 424 |     servers.shuffle(&mut rand::thread_rng());
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: renamed to `rng`
[INFO] [stdout]    --> src/room/alias/mod.rs:162:41
[INFO] [stdout]     |
[INFO] [stdout] 162 |         body.servers.shuffle(&mut rand::thread_rng());
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode
[INFO] [stdout]    --> src/global.rs:182:33
[INFO] [stdout]     |
[INFO] [stdout] 182 |             let bytes = base64::decode(&keypair.document).expect("server keypair is invalid base64 string");
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/routing/client/room/membership.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let mut via = via
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/routing/client/room/message.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |     let mut unsigned = BTreeMap::new();
[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/routing/client/room/space.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut left_to_skip = skip;
[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/routing/client/room/membership.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |     let mut via = via
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/routing/client/room/message.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |     let mut unsigned = BTreeMap::new();
[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/routing/client/room/space.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut left_to_skip = skip;
[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/routing/client/unstable/msc3575.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut body: JsonBody<SyncEventsReqBody>,
[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/routing/client/unstable/msc4186.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut body: JsonBody<SyncEventsReqBody>,
[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/routing/client/unstable/msc3575.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut body: JsonBody<SyncEventsReqBody>,
[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/routing/client/unstable/msc4186.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut body: JsonBody<SyncEventsReqBody>,
[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/event/handler/mod.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let mut state_at_incoming_event = if incoming_pdu.prev_events.len() == 1 {
[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/membership/join.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut state = state_ids
[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/event/handler/mod.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     let mut state_at_incoming_event = if incoming_pdu.prev_events.len() == 1 {
[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/membership/join.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut state = state_ids
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/global.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/signing_keys.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/signing_keys.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/global.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/signing_keys.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/signing_keys.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures_util::{FutureExt, StreamExt, stream::FuturesUnordered};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> src/hoops/mod.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let host = get_origin_host(req).unwrap_or_default();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 | async fn users(_aa: AuthArgs, req: &mut Request) -> JsonResult<UsersResBody> {
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:49:40
[INFO] [stdout]    |
[INFO] [stdout] 49 | async fn protocol_users(_aa: AuthArgs, req: &mut Request) -> JsonResult<UsersResBody> {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> src/hoops/mod.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let host = get_origin_host(req).unwrap_or_default();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 | async fn users(_aa: AuthArgs, req: &mut Request) -> JsonResult<UsersResBody> {
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/routing/appservice/third_party.rs:49:40
[INFO] [stdout]    |
[INFO] [stdout] 49 | async fn protocol_users(_aa: AuthArgs, req: &mut Request) -> JsonResult<UsersResBody> {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/user/key.rs:340:21
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_display_names`
[INFO] [stdout]    --> src/user/key.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     include_display_names: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_display_names`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/user/key.rs:340:21
[INFO] [stdout]     |
[INFO] [stdout] 340 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `include_display_names`
[INFO] [stdout]    --> src/user/key.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     include_display_names: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include_display_names`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/routing/client/register.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     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: `res`
[INFO] [stdout]   --> src/routing/client/register.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     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: `room_version_id`
[INFO] [stdout]    --> src/event/handler/mod.rs:819:5
[INFO] [stdout]     |
[INFO] [stdout] 819 |     room_version_id: &RoomVersionId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_version_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_id`
[INFO] [stdout]    --> src/event/handler/mod.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     event_id: &EventId,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `create_event`
[INFO] [stdout]    --> src/event/handler/mod.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     create_event: &PduEvent,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_create_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]    --> src/event/handler/mod.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     let timer = Instant::now();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auch_checked`
[INFO] [stdout]    --> src/event/handler/mod.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let auch_checked = event_auth::auth_check(&room_version, &incoming_pdu, None::<PduEvent>, |k, s| {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auch_checked`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]    --> src/event/handler/mod.rs:566:9
[INFO] [stdout]     |
[INFO] [stdout] 566 |     let pdu_id =
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_id`
[INFO] [stdout]    --> src/membership/join.rs:741:28
[INFO] [stdout]     |
[INFO] [stdout] 741 |                 .map(|(k, (event_id, event_sn))| Ok(CompressedEvent::new(k, event_sn)))
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]   --> src/membership/mod.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let keys = crate::filter_keys_server_map(unfiltered_keys, origin_server_ts, room_version);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_version_id`
[INFO] [stdout]    --> src/event/handler/mod.rs:819:5
[INFO] [stdout]     |
[INFO] [stdout] 819 |     room_version_id: &RoomVersionId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_version_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_id`
[INFO] [stdout]    --> src/event/handler/mod.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     event_id: &EventId,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `create_event`
[INFO] [stdout]    --> src/event/handler/mod.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     create_event: &PduEvent,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_create_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]    --> src/event/handler/mod.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     let timer = Instant::now();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auch_checked`
[INFO] [stdout]    --> src/event/handler/mod.rs:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let auch_checked = event_auth::auth_check(&room_version, &incoming_pdu, None::<PduEvent>, |k, s| {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auch_checked`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pdu_id`
[INFO] [stdout]    --> src/event/handler/mod.rs:566:9
[INFO] [stdout]     |
[INFO] [stdout] 566 |     let pdu_id =
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pdu_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_id`
[INFO] [stdout]    --> src/membership/join.rs:741:28
[INFO] [stdout]     |
[INFO] [stdout] 741 |                 .map(|(k, (event_id, event_sn))| Ok(CompressedEvent::new(k, event_sn)))
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keys`
[INFO] [stdout]   --> src/membership/mod.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let keys = crate::filter_keys_server_map(unfiltered_keys, origin_server_ts, room_version);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_keys`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/routing/client/room/message.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     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: `value`
[INFO] [stdout]     --> src/room/timeline.rs:1017:9
[INFO] [stdout]      |
[INFO] [stdout] 1017 |     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/room/timeline.rs:1029:13
[INFO] [stdout]      |
[INFO] [stdout] 1029 |         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: `left_to_skip`
[INFO] [stdout]   --> src/routing/client/room/space.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut left_to_skip = skip;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_to_skip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]   --> src/routing/client/room/space.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     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: `to`
[INFO] [stdout]   --> src/routing/client/room/message.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     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: `value`
[INFO] [stdout]     --> src/room/timeline.rs:1017:9
[INFO] [stdout]      |
[INFO] [stdout] 1017 |     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/room/timeline.rs:1029:13
[INFO] [stdout]      |
[INFO] [stdout] 1029 |         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: `left_to_skip`
[INFO] [stdout]   --> src/routing/client/room/space.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut left_to_skip = skip;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_to_skip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conf`
[INFO] [stdout]   --> src/routing/client/room/space.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     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: `new_encrypted_room`
[INFO] [stdout]    --> src/sync_v3.rs:599:17
[INFO] [stdout]     |
[INFO] [stdout] 599 |             let new_encrypted_room = encrypted_room && since_encryption.is_none();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_encrypted_room`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since_sender_member`
[INFO] [stdout]    --> src/routing/client/unstable/msc3575.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let since_sender_member = state::get_state_content::<RoomMemberEventContent>(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_since_sender_member`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_encrypted_room`
[INFO] [stdout]    --> src/sync_v3.rs:599:17
[INFO] [stdout]     |
[INFO] [stdout] 599 |             let new_encrypted_room = encrypted_room && since_encryption.is_none();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_encrypted_room`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_id`
[INFO] [stdout]   --> src/routing/client/unstable/msc4186.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let conn_id = body.conn_id.clone();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since_sender_member`
[INFO] [stdout]    --> src/routing/client/unstable/msc3575.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let since_sender_member = state::get_state_content::<RoomMemberEventContent>(
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_since_sender_member`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/routing/client/user_directory.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     args: SearchUsersReqArgs,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mxc`
[INFO] [stdout]   --> src/media.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     mxc: &str,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_mxc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_id`
[INFO] [stdout]   --> src/routing/client/unstable/msc4186.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let conn_id = body.conn_id.clone();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/routing/client/user_directory.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     args: SearchUsersReqArgs,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/routing/client/media.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let file = NamedFile::builder(&thumb_path)
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disposition_type`
[INFO] [stdout]    --> src/routing/client/media.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         disposition_type,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: try ignoring the field: `disposition_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mxc`
[INFO] [stdout]   --> src/media.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     mxc: &str,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_mxc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/routing/client/media.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let file = NamedFile::builder(&thumb_path)
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disposition_type`
[INFO] [stdout]    --> src/routing/client/media.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |         disposition_type,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: try ignoring the field: `disposition_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/routing/federation/media.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     req: &mut Request,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disposition_type`
[INFO] [stdout]    --> src/routing/federation/media.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         disposition_type,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: try ignoring the field: `disposition_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `req`
[INFO] [stdout]   --> src/routing/federation/media.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     req: &mut Request,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_req`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `disposition_type`
[INFO] [stdout]    --> src/routing/federation/media.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         disposition_type,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: try ignoring the field: `disposition_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `palpo` (bin "palpo" test) due to 1 previous error; 196 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/568b11762723b001bfa693d0f21c5dad01d4e813/bin/rustc --crate-name palpo --edition=2024 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,test)' --check-cfg 'cfg(feature, values())' -C metadata=ad2c80d05d3473fe -C extra-filename=-6ec8527d38606f27 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-08de4f43d3be1b3b.rmeta --extern async_trait=/opt/rustwide/target/debug/deps/libasync_trait-98dfaf48cad665a8.so --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern bcrypt=/opt/rustwide/target/debug/deps/libbcrypt-c6ecf785ee5189f0.rmeta --extern bigdecimal=/opt/rustwide/target/debug/deps/libbigdecimal-829a31395f659162.rmeta --extern blurhash=/opt/rustwide/target/debug/deps/libblurhash-c6a9474e39ea8c5a.rmeta --extern byteorder=/opt/rustwide/target/debug/deps/libbyteorder-d92705dd1d5353b1.rmeta --extern bytes=/opt/rustwide/target/debug/deps/libbytes-696d9749778e1593.rmeta --extern chksum=/opt/rustwide/target/debug/deps/libchksum-cc90ead84f7bde5b.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-0d0ac86040cd80f1.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-c2c474539a65c46e.rmeta --extern config=/opt/rustwide/target/debug/deps/libconfig-c02ce97559b48202.rmeta --extern cookie=/opt/rustwide/target/debug/deps/libcookie-376f0a1fca1d1e62.rmeta --extern cruet=/opt/rustwide/target/debug/deps/libcruet-0d5c091537eed5ea.rmeta --extern cyborgtime=/opt/rustwide/target/debug/deps/libcyborgtime-7a801028f1ae9e03.rmeta --extern data_encoding=/opt/rustwide/target/debug/deps/libdata_encoding-c34ed7c51ad08ec5.rmeta --extern diesel=/opt/rustwide/target/debug/deps/libdiesel-c5209ac6a4b9b733.rmeta --extern diesel_migrations=/opt/rustwide/target/debug/deps/libdiesel_migrations-daad8f53dc9042fb.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern fast32=/opt/rustwide/target/debug/deps/libfast32-b3a4609dec843b2a.rmeta --extern figment=/opt/rustwide/target/debug/deps/libfigment-6886b9c68031b419.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-10c0e759de211460.rmeta --extern globwalk=/opt/rustwide/target/debug/deps/libglobwalk-6d27e51affd597ed.rmeta --extern hickory_resolver=/opt/rustwide/target/debug/deps/libhickory_resolver-5dac4d8abe94d18a.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-c23a53cb505b756e.rmeta --extern hyper_util=/opt/rustwide/target/debug/deps/libhyper_util-72fadd3076aced04.rmeta --extern image=/opt/rustwide/target/debug/deps/libimage-49fbc74350c6a9f0.rmeta --extern itertools=/opt/rustwide/target/debug/deps/libitertools-8ca1407ee86695ec.rmeta --extern jsonwebtoken=/opt/rustwide/target/debug/deps/libjsonwebtoken-68af8e61d73eb341.rmeta --extern lru_cache=/opt/rustwide/target/debug/deps/liblru_cache-b3bc85f5b2ba5646.rmeta --extern maplit=/opt/rustwide/target/debug/deps/libmaplit-3e7e98e7c0c45f70.rmeta --extern mime=/opt/rustwide/target/debug/deps/libmime-719fdfbd841ea854.rmeta --extern mime_infer=/opt/rustwide/target/debug/deps/libmime_infer-a1da28e914e6068a.rmeta --extern palpo_core=/opt/rustwide/target/debug/deps/libpalpo_core-06bd813fe81a2761.rmeta --extern palpo_data=/opt/rustwide/target/debug/deps/libpalpo_data-55e75575e0c46ebd.rmeta --extern palpo_macros=/opt/rustwide/target/debug/deps/libpalpo_macros-ed9b29ea4cc3dc95.so --extern path_slash=/opt/rustwide/target/debug/deps/libpath_slash-6700ead2a08d7cb8.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-0d6dfcd853ad85b7.rmeta --extern regex=/opt/rustwide/target/debug/deps/libregex-f5121baa1596de79.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-298ad6ef3a983894.rmeta --extern ring=/opt/rustwide/target/debug/deps/libring-2a32805dc48d00c1.rmeta --extern argon2=/opt/rustwide/target/debug/deps/libargon2-ccdefe9d15de8d0d.rmeta --extern salvo=/opt/rustwide/target/debug/deps/libsalvo-6940255a06f6f497.rmeta --extern sanitize_filename=/opt/rustwide/target/debug/deps/libsanitize_filename-0d1dff190a7dd6d6.rmeta --extern scheduled_thread_pool=/opt/rustwide/target/debug/deps/libscheduled_thread_pool-4ff7af48bdf167fc.rmeta --extern secrecy=/opt/rustwide/target/debug/deps/libsecrecy-556379d7d0b7de33.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-0df4fa8bbf062487.rmeta --extern serde_aux=/opt/rustwide/target/debug/deps/libserde_aux-94008632b39072c9.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-f9f63d748aabad5f.rmeta --extern serde_with=/opt/rustwide/target/debug/deps/libserde_with-11d2d7b34d3860c8.rmeta --extern serde_yaml=/opt/rustwide/target/debug/deps/libserde_yaml-268ac9af44fc9aa7.rmeta --extern sha1=/opt/rustwide/target/debug/deps/libsha1-7320fdda88c75138.rmeta --extern smallvec=/opt/rustwide/target/debug/deps/libsmallvec-9ca02ed9f14036d3.rmeta --extern strum=/opt/rustwide/target/debug/deps/libstrum-908370b37fedaf79.rmeta --extern strum_macros=/opt/rustwide/target/debug/deps/libstrum_macros-15e2cada25706073.so --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-170aa5fd07c6f804.rmeta --extern textnonce=/opt/rustwide/target/debug/deps/libtextnonce-ab1a0ba9d6c19bad.rmeta --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-45e79db6f7ef0e72.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-12908bf52f69db2b.rmeta --extern tokio_stream=/opt/rustwide/target/debug/deps/libtokio_stream-c1d993c2bc5dddbc.rmeta --extern tokio_util=/opt/rustwide/target/debug/deps/libtokio_util-6347e856a08cf70c.rmeta --extern tower_service=/opt/rustwide/target/debug/deps/libtower_service-e69ac8dcc8243395.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-189e3c07cf8ad52a.rmeta --extern tracing_futures=/opt/rustwide/target/debug/deps/libtracing_futures-b4788d936c11a272.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-05ff79b3a43b8ca3.rmeta --extern ulid=/opt/rustwide/target/debug/deps/libulid-46e9dffbd4807d3d.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-b662c571548cac79.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-fef91cd0589fcd5a.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/ring-583599e3e10591a0/out -L native=/usr/lib/x86_64-linux-gnu` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils/hash.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn hash_keys<'a, T, I>(mut keys: I) -> Vec<u8>
[INFO] [stdout]    |                            ----^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_version`
[INFO] [stdout]    --> src/event/handler/mod.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let room_version = RoomVersion::new(room_version_id).expect("room version is supported");
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `origin_server_ts`
[INFO] [stdout]    --> src/event/handler/mod.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let origin_server_ts: UnixMillis = {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin_server_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ids`
[INFO] [stdout]   --> src/event/search.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let ids: Vec<i64> = event_searches::table.select(event_searches::id).load(&mut connect()?)?;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/event/mod.rs:87:51
[INFO] [stdout]    |
[INFO] [stdout] 87 |         Ok(serde_json::from_value(value).map_err(|e| MatrixError::bad_json("invalid json for event"))?)
[INFO] [stdout]    |                                                   ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]    --> src/event/mod.rs:208:39
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn is_ignored_pdu(pdu: &PduEvent, 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: `event_sn`
[INFO] [stdout]   --> src/room/receipt.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         if let Ok(event_sn) = crate::event::get_event_sn(&event_id) {
[INFO] [stdout]    |                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/room/receipt.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut list: Vec<(OwnedUserId, Seqnum, RawJson<AnySyncEphemeralRoomEvent>)> = Vec::new();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]   --> src/room/receipt.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut list: Vec<(OwnedUserId, Seqnum, RawJson<AnySyncEphemeralRoomEvent>)> = Vec::new();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]   --> src/room/state/diff.rs:71:23
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn compress_event(room_id: &RoomId, field_id: i64, event_sn: Seqnum) -> AppResult<CompressedEvent> {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_type`
[INFO] [stdout]    --> src/room/state/mod.rs:252:10
[INFO] [stdout]     |
[INFO] [stdout] 252 |     for (event_type, state_key) in cells {
[INFO] [stdout]     |          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_key`
[INFO] [stdout]    --> src/room/state/mod.rs:252:22
[INFO] [stdout]     |
[INFO] [stdout] 252 |     for (event_type, state_key) in cells {
[INFO] [stdout]     |                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/room/timeline.rs:48:75
[INFO] [stdout]    |
[INFO] [stdout] 48 |             PduEvent::from_json_value(&event_id, event_sn, json).map_err(|e| AppError::internal("Invalid PDU in db."))
[INFO] [stdout]    |                                                                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/room/timeline.rs:70:59
[INFO] [stdout]    |
[INFO] [stdout] 70 |         .map(|json| serde_json::from_value(json).map_err(|e| AppError::internal("Invalid PDU in db.")))
[INFO] [stdout]    |                                                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/room/timeline.rs:93:74
[INFO] [stdout]    |
[INFO] [stdout] 93 |             PduEvent::from_json_value(event_id, event_sn, json).map_err(|e| AppError::internal("Invalid PDU in db."))
[INFO] [stdout]    |                                                                          ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/room/timeline.rs:120:66
[INFO] [stdout]     |
[INFO] [stdout] 120 |     PduEvent::from_json_value(event_id, event_sn, json).map_err(|e| AppError::internal("Invalid PDU in db."))
[INFO] [stdout]     |                                                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/room/user.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |     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: `include`
[INFO] [stdout]   --> src/room/thread.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     include: &IncludeThreads,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_include`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_count`
[INFO] [stdout]    --> src/sending/mod.rs:238:37
[INFO] [stdout]     |
[INFO] [stdout] 238 |             if let Ok((select_edus, last_count)) = select_edus(server_name) {
[INFO] [stdout]     |                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_edu_sn`
[INFO] [stdout]    --> src/sending/mod.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     max_edu_sn: &Seqnum,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_edu_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event_sn`
[INFO] [stdout]    --> src/sending/mod.rs:264:23
[INFO] [stdout]     |
[INFO] [stdout] 264 |         for (user_id, event_sn) in keys_changed {
[INFO] [stdout]     |                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_edu_sn`
[INFO] [stdout]    --> src/sending/mod.rs:324:5
[INFO] [stdout]     |
[INFO] [stdout] 324 |     max_edu_sn: &Seqnum,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_edu_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_edu_sn`
[INFO] [stdout]    --> src/sending/mod.rs:384:69
[INFO] [stdout]     |
[INFO] [stdout] 384 | fn select_edus_presence(server_name: &ServerName, since_sn: Seqnum, max_edu_sn: &Seqnum) -> AppResult<Option<EduBuf>> {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_edu_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sending/mod.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     let mut max_edu_sn = data::curr_sn()?;
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `since_sn`
[INFO] [stdout]    --> src/user/device.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     since_sn: Option<Seqnum>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_since_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `until_sn`
[INFO] [stdout]    --> src/user/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     until_sn: Option<Seqnum>,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_until_sn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_signing_key_id`
[INFO] [stdout]    --> src/user/key.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |         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/user/key.rs:530:13
[INFO] [stdout]     |
[INFO] [stdout] 530 |         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/user/key.rs:735:27
[INFO] [stdout]     |
[INFO] [stdout] 735 | pub fn has_different_keys(user_id: &UserId, body: &UploadSigningKeysReqBody) -> AppResult<bool> {
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/user/key.rs:735:45
[INFO] [stdout]     |
[INFO] [stdout] 735 | pub fn has_different_keys(user_id: &UserId, body: &UploadSigningKeysReqBody) -> AppResult<bool> {
[INFO] [stdout]     |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]   --> src/user/pusher.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 |             user_id,
[INFO] [stdout]    |             ^^^^^^^ help: try ignoring the field: `user_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_msg`
[INFO] [stdout]   --> src/user/presence.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let status_msg = match last_presence {
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/global.rs:591:27
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn reqwest_client_builder(config: &ServerConfig) -> AppResult<reqwest::ClientBuilder> {
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `doc`
[INFO] [stdout]    --> src/main.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let doc = OpenApi::new("palpo api", "0.0.1").merge_router(&router);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_doc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/routing/federation/transaction.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     crate::user::add_to_device_event(&sender, target_user_id, target_device_id, &ev_type, event);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     let _ = crate::user::add_to_device_event(&sender, target_user_id, target_device_id, &ev_type, event);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/routing/federation/transaction.rs:303:29
[INFO] [stdout]     |
[INFO] [stdout] 303 | / ...                   crate::user::add_to_device_event(
[INFO] [stdout] 304 | | ...                       sender,
[INFO] [stdout] 305 | | ...                       target_user_id,
[INFO] [stdout] 306 | | ...                       target_device_id,
[INFO] [stdout] 307 | | ...                       ev_type,
[INFO] [stdout] 308 | | ...                       event.clone(),
[INFO] [stdout] 309 | | ...                   );
[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 _ = crate::user::add_to_device_event(
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/routing/federation/transaction.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 |     crate::transaction_id::add_txn_id(&message_id, &sender, None, None, None);
[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] 317 |     let _ = crate::transaction_id::add_txn_id(&message_id, &sender, None, None, None);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/membership/knock.rs:398:5
[INFO] [stdout]     |
[INFO] [stdout] 398 |     state::set_room_state(room_id, frame_id);
[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] 398 |     let _ = state::set_room_state(room_id, frame_id);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/room/auth_chain.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |             cache_auth_chain(vec![event_sn], auth_chain.as_slice());
[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] 85 |             let _ = cache_auth_chain(vec![event_sn], auth_chain.as_slice());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/room/auth_chain.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         cache_auth_chain(bucket_key, bucket_cache.as_slice());
[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] 94 |         let _ = cache_auth_chain(bucket_key, bucket_cache.as_slice());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]   --> src/room/lazy_loading.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     LAZY_LOAD_WAITING.lock().unwrap().insert(
[INFO] [stdout]    |     -----------------^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     `LAZY_LOAD_WAITING` is a interior mutable `const` item of type `LazyLock<Mutex<HashMap<(OwnedUserId, OwnedDeviceId, ..., i64), ...>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: only the temporaries and never the original `const LAZY_LOAD_WAITING` will be modified
[INFO] [stdout]    = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: `#[warn(const_item_interior_mutations)]` on by default
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/palpo-a0f30bdc0ffebbc1.long-type-9478232447369556421.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: for a shared instance of `LAZY_LOAD_WAITING`, consider making it a `static` item instead
[INFO] [stdout]    |
[INFO] [stdout] 10 - pub const LAZY_LOAD_WAITING: LazyLock<
[INFO] [stdout] 10 + pub static LAZY_LOAD_WAITING: LazyLock<
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]   --> src/room/lazy_loading.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |     if let Some(confirmed_user_ids) = LAZY_LOAD_WAITING.lock().unwrap().remove(&(
[INFO] [stdout]    |                                       -----------------^^^^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `LAZY_LOAD_WAITING` is a interior mutable `const` item of type `LazyLock<Mutex<HashMap<(OwnedUserId, OwnedDeviceId, ..., i64), ...>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: only the temporaries and never the original `const LAZY_LOAD_WAITING` will be modified
[INFO] [stdout]    = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/palpo-a0f30bdc0ffebbc1.long-type-9478232447369556421.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: for a shared instance of `LAZY_LOAD_WAITING`, consider making it a `static` item instead
[INFO] [stdout]    |
[INFO] [stdout] 10 - pub const LAZY_LOAD_WAITING: LazyLock<
[INFO] [stdout] 10 + pub static LAZY_LOAD_WAITING: LazyLock<
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]    --> src/room/state/mod.rs:559:31
[INFO] [stdout]     |
[INFO] [stdout] 559 |       if let Some(visibility) = SERVER_VISIBILITY_CACHE
[INFO] [stdout]     |                                 ^----------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |  _______________________________`SERVER_VISIBILITY_CACHE` is a interior mutable `const` item of type `LazyLock<std::sync::Mutex<LruCache<(palpo_core::OwnedServerName, i64), bool>>>`
[INFO] [stdout]     | |
[INFO] [stdout] 560 | |         .lock()
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]     = note: only the temporaries and never the original `const SERVER_VISIBILITY_CACHE` will be modified
[INFO] [stdout]     = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout] help: for a shared instance of `SERVER_VISIBILITY_CACHE`, consider making it a `static` item instead
[INFO] [stdout]     |
[INFO] [stdout]  59 - pub const SERVER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedServerName, i64), bool>>> =
[INFO] [stdout]  59 + pub static SERVER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedServerName, i64), bool>>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]    --> src/room/state/mod.rs:590:5
[INFO] [stdout]     |
[INFO] [stdout] 590 |       SERVER_VISIBILITY_CACHE
[INFO] [stdout]     |       ^----------------------
[INFO] [stdout]     |       |
[INFO] [stdout]     |  _____`SERVER_VISIBILITY_CACHE` is a interior mutable `const` item of type `LazyLock<std::sync::Mutex<LruCache<(palpo_core::OwnedServerName, i64), bool>>>`
[INFO] [stdout]     | |
[INFO] [stdout] 591 | |         .lock()
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]     = note: only the temporaries and never the original `const SERVER_VISIBILITY_CACHE` will be modified
[INFO] [stdout]     = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout] help: for a shared instance of `SERVER_VISIBILITY_CACHE`, consider making it a `static` item instead
[INFO] [stdout]     |
[INFO] [stdout]  59 - pub const SERVER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedServerName, i64), bool>>> =
[INFO] [stdout]  59 + pub static SERVER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedServerName, i64), bool>>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]    --> src/room/state/mod.rs:617:31
[INFO] [stdout]     |
[INFO] [stdout] 617 |       if let Some(visibility) = USER_VISIBILITY_CACHE
[INFO] [stdout]     |                                 ^--------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |  _______________________________`USER_VISIBILITY_CACHE` is a interior mutable `const` item of type `LazyLock<std::sync::Mutex<LruCache<(palpo_core::OwnedUserId, i64), bool>>>`
[INFO] [stdout]     | |
[INFO] [stdout] 618 | |         .lock()
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]     = note: only the temporaries and never the original `const USER_VISIBILITY_CACHE` will be modified
[INFO] [stdout]     = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout] help: for a shared instance of `USER_VISIBILITY_CACHE`, consider making it a `static` item instead
[INFO] [stdout]     |
[INFO] [stdout]  61 - pub const USER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedUserId, i64), bool>>> =
[INFO] [stdout]  61 + pub static USER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedUserId, i64), bool>>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]    --> src/room/state/mod.rs:648:5
[INFO] [stdout]     |
[INFO] [stdout] 648 |       USER_VISIBILITY_CACHE
[INFO] [stdout]     |       ^--------------------
[INFO] [stdout]     |       |
[INFO] [stdout]     |  _____`USER_VISIBILITY_CACHE` is a interior mutable `const` item of type `LazyLock<std::sync::Mutex<LruCache<(palpo_core::OwnedUserId, i64), bool>>>`
[INFO] [stdout]     | |
[INFO] [stdout] 649 | |         .lock()
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]     = note: only the temporaries and never the original `const USER_VISIBILITY_CACHE` will be modified
[INFO] [stdout]     = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout] help: for a shared instance of `USER_VISIBILITY_CACHE`, consider making it a `static` item instead
[INFO] [stdout]     |
[INFO] [stdout]  61 - pub const USER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedUserId, i64), bool>>> =
[INFO] [stdout]  61 + pub static USER_VISIBILITY_CACHE: LazyLock<Mutex<LruCache<(OwnedUserId, i64), bool>>> =
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]   --> src/sync_v4.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     CONNECTIONS.lock().unwrap().remove(&(user_id, device_id, conn_id));
[INFO] [stdout]    |     -----------^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     `CONNECTIONS` is a interior mutable `const` item of type `LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), ...>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: only the temporaries and never the original `const CONNECTIONS` will be modified
[INFO] [stdout]    = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/palpo-a0f30bdc0ffebbc1.long-type-8065127264548253680.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: for a shared instance of `CONNECTIONS`, consider making it a `static` item instead
[INFO] [stdout]    |
[INFO] [stdout] 17 - pub const CONNECTIONS: LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), Arc<Mutex<SlidingSyncCache>>>>> =
[INFO] [stdout] 17 + pub static CONNECTIONS: LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), Arc<Mutex<SlidingSyncCache>>>>> =
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]   --> src/sync_v4.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     CONNECTIONS.lock().unwrap().contains_key(&(user_id, device_id, conn_id))
[INFO] [stdout]    |     -----------^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     `CONNECTIONS` is a interior mutable `const` item of type `LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), ...>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: only the temporaries and never the original `const CONNECTIONS` will be modified
[INFO] [stdout]    = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/palpo-a0f30bdc0ffebbc1.long-type-8065127264548253680.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: for a shared instance of `CONNECTIONS`, consider making it a `static` item instead
[INFO] [stdout]    |
[INFO] [stdout] 17 - pub const CONNECTIONS: LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), Arc<Mutex<SlidingSyncCache>>>>> =
[INFO] [stdout] 17 + pub static CONNECTIONS: LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), Arc<Mutex<SlidingSyncCache>>>>> =
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutation of an interior mutable `const` item with call to `lock`
[INFO] [stdout]   --> src/sync_v5.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     CONNECTIONS.lock().unwrap().remove(&(user_id, device_id, conn_id));
[INFO] [stdout]    |     -----------^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     `CONNECTIONS` is a interior mutable `const` item of type `LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), ...>>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: only the temporaries and never the original `const CONNECTIONS` will be modified
[INFO] [stdout]    = help: for more details on interior mutability see <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/palpo-a0f30bdc0ffebbc1.long-type-9561302703630104660.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: for a shared instance of `CONNECTIONS`, consider making it a `static` item instead
[INFO] [stdout]    |
[INFO] [stdout] 19 - pub const CONNECTIONS: LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), Arc<Mutex<SlidingSyncCache>>>>> =
[INFO] [stdout] 19 + pub static CONNECTIONS: LazyLock<Mutex<BTreeMap<(OwnedUserId, OwnedDeviceId, String), Arc<Mutex<SlidingSyncCache>>>>> =
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "731f49ff0fef5e88161665a1317494bd9c96512e345a69fa3aa0f3c270eeba2e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "731f49ff0fef5e88161665a1317494bd9c96512e345a69fa3aa0f3c270eeba2e", kill_on_drop: false }`
[INFO] [stdout] 731f49ff0fef5e88161665a1317494bd9c96512e345a69fa3aa0f3c270eeba2e
