[INFO] cloning repository https://github.com/lost-conn/forumall [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lost-conn/forumall" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flost-conn%2Fforumall", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flost-conn%2Fforumall'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2542fb946e9a1f61dff26dfd408a8cb0d66884dd [INFO] linting lost-conn/forumall against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flost-conn%2Fforumall" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lost-conn/forumall [INFO] finished tweaking git repo https://github.com/lost-conn/forumall [INFO] tweaked toml for git repo https://github.com/lost-conn/forumall written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lost-conn/forumall on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lost-conn/forumall 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cookie_store v0.22.1 [INFO] [stderr] Downloaded zvariant_derive v5.9.2 [INFO] [stderr] Downloaded native-tls v0.2.16 [INFO] [stderr] Downloaded markup5ever v0.35.0 [INFO] [stderr] Downloaded zbus_macros v5.13.2 [INFO] [stderr] Downloaded match_token v0.35.0 [INFO] [stderr] Downloaded content_disposition v0.4.0 [INFO] [stderr] Downloaded cocoa-foundation v0.2.1 [INFO] [stderr] Downloaded dioxus-config-macro v0.7.3 [INFO] [stderr] Downloaded warnings v0.2.1 [INFO] [stderr] Downloaded webview2-com-macros v0.8.1 [INFO] [stderr] Downloaded cocoa v0.26.1 [INFO] [stderr] Downloaded web_atoms v0.1.3 [INFO] [stderr] Downloaded ammonia v4.1.2 [INFO] [stderr] Downloaded html5ever v0.35.0 [INFO] [stderr] Downloaded global-hotkey v0.7.0 [INFO] [stderr] Downloaded axum-reverse-proxy v1.1.2 [INFO] [stderr] Downloaded regex-lite v0.1.9 [INFO] [stderr] Downloaded dioxus-core v0.7.3 [INFO] [stderr] Downloaded zbus v5.13.2 [INFO] [stderr] Downloaded publicsuffix v2.3.0 [INFO] [stderr] Downloaded headers v0.4.1 [INFO] [stderr] Downloaded dioxus-fullstack v0.7.3 [INFO] [stderr] Downloaded webbrowser v1.1.0 [INFO] [stderr] Downloaded serde_qs v0.15.0 [INFO] [stderr] Downloaded dioxus-html v0.7.3 [INFO] [stderr] Downloaded dioxus-interpreter-js v0.7.3 [INFO] [stderr] Downloaded generational-box v0.7.3 [INFO] [stderr] Downloaded dioxus v0.7.3 [INFO] [stderr] Downloaded rfd v0.17.2 [INFO] [stderr] Downloaded tray-icon v0.21.3 [INFO] [stderr] Downloaded async-tungstenite v0.31.0 [INFO] [stderr] Downloaded const-str v0.7.1 [INFO] [stderr] Downloaded dioxus-desktop v0.7.3 [INFO] [stderr] Downloaded dioxus-router v0.7.3 [INFO] [stderr] Downloaded dioxus-rsx v0.7.3 [INFO] [stderr] Downloaded sledgehammer_bindgen_macro v0.6.5 [INFO] [stderr] Downloaded sledgehammer_bindgen v0.6.0 [INFO] [stderr] Downloaded dioxus-signals v0.7.3 [INFO] [stderr] Downloaded dioxus-web v0.7.3 [INFO] [stderr] Downloaded zvariant v5.9.2 [INFO] [stderr] Downloaded dlopen2 v0.8.2 [INFO] [stderr] Downloaded dtoa v1.0.11 [INFO] [stderr] Downloaded dioxus-document v0.7.3 [INFO] [stderr] Downloaded dioxus-history v0.7.3 [INFO] [stderr] Downloaded const-serialize v0.8.0-alpha.0 [INFO] [stderr] Downloaded manganis-core v0.7.3 [INFO] [stderr] Downloaded webview2-com v0.38.2 [INFO] [stderr] Downloaded dioxus-fullstack-core v0.7.3 [INFO] [stderr] Downloaded dioxus-router-macro v0.7.3 [INFO] [stderr] Downloaded dioxus-stores-macro v0.7.3 [INFO] [stderr] Downloaded dioxus-core-macro v0.7.3 [INFO] [stderr] Downloaded subsecond v0.7.3 [INFO] [stderr] Downloaded dioxus-html-internal-macro v0.7.3 [INFO] [stderr] Downloaded dioxus-core-types v0.7.3 [INFO] [stderr] Downloaded dioxus-config-macros v0.7.3 [INFO] [stderr] Downloaded dioxus-logger v0.7.3 [INFO] [stderr] Downloaded dioxus-devtools-types v0.7.3 [INFO] [stderr] Downloaded dioxus-devtools v0.7.3 [INFO] [stderr] Downloaded dlopen2_derive v0.4.3 [INFO] [stderr] Downloaded dioxus-stores v0.7.3 [INFO] [stderr] Downloaded dioxus-hooks v0.7.3 [INFO] [stderr] Downloaded const-serialize v0.7.2 [INFO] [stderr] Downloaded const-serialize-macro v0.8.0-alpha.0 [INFO] [stderr] Downloaded dioxus-cli-config v0.7.3 [INFO] [stderr] Downloaded dioxus-asset-resolver v0.7.3 [INFO] [stderr] Downloaded dioxus-fullstack-macro v0.7.3 [INFO] [stderr] Downloaded sledgehammer_utils v0.3.1 [INFO] [stderr] Downloaded lazy-js-bundle v0.7.3 [INFO] [stderr] Downloaded manganis-macro v0.7.3 [INFO] [stderr] Downloaded memfd v0.6.5 [INFO] [stderr] Downloaded security-framework v3.6.0 [INFO] [stderr] Downloaded security-framework-sys v2.16.0 [INFO] [stderr] Downloaded base16 v0.2.1 [INFO] [stderr] Downloaded const-serialize-macro v0.7.2 [INFO] [stderr] Downloaded manganis v0.7.3 [INFO] [stderr] Downloaded subsecond-types v0.7.3 [INFO] [stderr] Downloaded warnings-macro v0.2.0 [INFO] [stderr] Downloaded webview2-com-sys v0.38.2 [INFO] [stderr] Downloaded aws-lc-sys v0.37.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 65cf6414b32815b56ef14c4b8c62020456e386bb182ae8853a13b414f31d9549 [INFO] running `Command { std: "docker" "start" "-a" "65cf6414b32815b56ef14c4b8c62020456e386bb182ae8853a13b414f31d9549", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "65cf6414b32815b56ef14c4b8c62020456e386bb182ae8853a13b414f31d9549", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "65cf6414b32815b56ef14c4b8c62020456e386bb182ae8853a13b414f31d9549", kill_on_drop: false }` [INFO] [stdout] 65cf6414b32815b56ef14c4b8c62020456e386bb182ae8853a13b414f31d9549 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 298bd2cb4d63e82755dd99a9c40c631edc1000f898bf95192eb3b6f73dbaf492 [INFO] running `Command { std: "docker" "start" "-a" "298bd2cb4d63e82755dd99a9c40c631edc1000f898bf95192eb3b6f73dbaf492", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling version-compare v0.2.1 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling slotmap v1.1.1 [INFO] [stderr] Checking dioxus-core-types v0.7.3 [INFO] [stderr] Compiling gio v0.18.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking memmap2 v0.9.10 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking uuid v1.21.0 [INFO] [stderr] Compiling native-tls v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Checking longest-increasing-subsequence v0.1.0 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Checking data-encoding v2.10.0 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling field-offset v0.3.6 [INFO] [stderr] Compiling convert_case v0.8.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling x11 v2.21.0 [INFO] [stderr] Compiling gtk v0.18.2 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling lazy-js-bundle v0.7.3 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling cfg-expr v0.15.8 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling const_format_proc_macros v0.2.34 [INFO] [stderr] Checking dioxus-cli-config v0.7.3 [INFO] [stderr] Checking hdrhistogram v7.5.4 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling wayland-sys v0.31.8 [INFO] [stderr] Compiling libxdo-sys v0.11.0 [INFO] [stderr] Compiling endi v1.1.1 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling aws-lc-sys v0.37.1 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling wayland-backend v0.3.12 [INFO] [stderr] Compiling aws-lc-rs v1.15.4 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Checking deranged v0.5.6 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Compiling web_atoms v0.1.3 [INFO] [stderr] Checking const_format v0.2.35 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Compiling wayland-client v0.31.12 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Checking futf v0.1.5 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking libxdo v0.6.0 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking async-executor v1.14.0 [INFO] [stderr] Compiling dioxus-document v0.7.3 [INFO] [stderr] Compiling dioxus-interpreter-js v0.7.3 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Checking cfb v0.7.3 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Compiling rfd v0.17.2 [INFO] [stderr] Checking http-range-header v0.4.2 [INFO] [stderr] Checking pollster v0.4.0 [INFO] [stderr] Compiling wayland-scanner v0.31.8 [INFO] [stderr] Compiling wry v0.53.5 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Checking sledgehammer_utils v0.3.1 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Checking infer v0.19.0 [INFO] [stderr] Checking tendril v0.4.3 [INFO] [stderr] Checking time v0.3.47 [INFO] [stderr] Checking x11-dl v2.21.0 [INFO] [stderr] Compiling dioxus-desktop v0.7.3 [INFO] [stderr] Checking raw-window-handle v0.5.2 [INFO] [stderr] Checking dtoa v1.0.11 [INFO] [stderr] Compiling base16 v0.2.1 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Checking dtoa-short v0.3.5 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling pulldown-cmark v0.12.2 [INFO] [stderr] Compiling rfd v0.15.4 [INFO] [stderr] Checking dunce v1.0.5 [INFO] [stderr] Checking getopts v0.2.24 [INFO] [stderr] Compiling dioxus-config-macro v0.7.3 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Checking pulldown-cmark-escape v0.11.0 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking async-io v2.6.0 [INFO] [stderr] Checking dioxus-config-macros v0.7.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling macro-string v0.1.4 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Compiling dioxus-rsx v0.7.3 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking regex-lite v0.1.9 [INFO] [stderr] Checking matchit v0.8.4 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Checking base64ct v1.8.3 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking async-process v2.5.0 [INFO] [stderr] Checking nanoid v0.4.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Checking openssl v0.10.75 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling warnings-macro v0.2.0 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking generational-box v0.7.3 [INFO] [stderr] Compiling const-serialize-macro v0.7.2 [INFO] [stderr] Compiling const-serialize-macro v0.8.0-alpha.0 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling dioxus-core-macro v0.7.3 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Compiling dioxus-html-internal-macro v0.7.3 [INFO] [stderr] Compiling const-serialize v0.7.2 [INFO] [stderr] Checking warnings v0.2.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling dlopen2_derive v0.4.3 [INFO] [stderr] Compiling sledgehammer_bindgen_macro v0.6.5 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling enumset_derive v0.14.0 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Checking dlopen2 v0.8.2 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking wayland-protocols v0.32.10 [INFO] [stderr] Compiling match_token v0.35.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling dioxus-router-macro v0.7.3 [INFO] [stderr] Compiling dioxus-stores-macro v0.7.3 [INFO] [stderr] Checking dioxus-logger v0.7.3 [INFO] [stderr] Checking cssparser v0.35.0 [INFO] [stderr] Compiling toml_datetime v0.6.3 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling zvariant_utils v3.3.0 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Compiling toml_edit v0.20.2 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Checking enumset v1.1.10 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Checking subsecond-types v0.7.3 [INFO] [stderr] Checking subsecond v0.7.3 [INFO] [stderr] Checking keyboard-types v0.7.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking euclid v0.22.13 [INFO] [stderr] Compiling zvariant_derive v5.9.2 [INFO] [stderr] Checking string_cache v0.8.9 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking ed25519-dalek v2.2.0 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling const-serialize v0.8.0-alpha.0 [INFO] [stderr] Checking sledgehammer_bindgen v0.6.0 [INFO] [stderr] Compiling manganis-core v0.7.3 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Checking dioxus-core v0.7.3 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Checking forumall-shared v0.1.0 (/opt/rustwide/workdir/crates/shared) [INFO] [stderr] Checking global-hotkey v0.7.0 [INFO] [stderr] Compiling zvariant v5.9.2 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking tungstenite v0.27.0 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking webbrowser v1.1.0 [INFO] [stderr] Checking markup5ever v0.35.0 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Checking tungstenite v0.28.0 [INFO] [stderr] Checking html5ever v0.35.0 [INFO] [stderr] Checking tungstenite v0.26.2 [INFO] [stderr] Checking axum-core v0.5.6 [INFO] [stderr] Compiling manganis-macro v0.7.3 [INFO] [stderr] Compiling toml v0.8.2 [INFO] [stderr] Compiling proc-macro-crate v2.0.2 [INFO] [stderr] Checking ammonia v4.1.2 [INFO] [stderr] Compiling gtk3-macros v0.18.2 [INFO] [stderr] Checking manganis v0.7.3 [INFO] [stderr] Compiling system-deps v6.2.2 [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> crates/shared/src/models.rs:155:1 [INFO] [stdout] | [INFO] [stdout] 155 | / impl Default for VisibilityPolicy { [INFO] [stdout] 156 | | fn default() -> Self { [INFO] [stdout] 157 | | Self::Public [INFO] [stdout] 158 | | } [INFO] [stdout] 159 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 26 + #[derive(Default)] [INFO] [stdout] 27 | pub enum VisibilityPolicy { [INFO] [stdout] 28 ~ #[default] [INFO] [stdout] 29 ~ Public, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking dioxus-signals v0.7.3 [INFO] [stderr] Checking dioxus-devtools-types v0.7.3 [INFO] [stderr] Checking dioxus-history v0.7.3 [INFO] [stderr] Compiling glib-macros v0.18.5 [INFO] [stderr] Compiling glib-sys v0.18.1 [INFO] [stderr] Compiling gobject-sys v0.18.0 [INFO] [stderr] Compiling gio-sys v0.18.1 [INFO] [stderr] Compiling gdk-sys v0.18.2 [INFO] [stderr] Compiling cairo-sys-rs v0.18.2 [INFO] [stderr] Compiling pango-sys v0.18.0 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.18.0 [INFO] [stderr] Compiling atk-sys v0.18.2 [INFO] [stderr] Compiling gtk-sys v0.18.2 [INFO] [stderr] Compiling javascriptcore-rs-sys v1.1.1 [INFO] [stderr] Compiling soup3-sys v0.5.0 [INFO] [stderr] Compiling webkit2gtk-sys v2.0.1 [INFO] [stderr] Checking dioxus-hooks v0.7.3 [INFO] [stderr] Compiling gdkx11-sys v0.18.2 [INFO] [stderr] Checking dioxus-devtools v0.7.3 [INFO] [stderr] Checking dioxus-stores v0.7.3 [INFO] [stderr] Compiling zbus_names v4.3.1 [INFO] [stderr] Checking dioxus-html v0.7.3 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking dioxus-asset-resolver v0.7.3 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Checking tokio-tungstenite v0.28.0 [INFO] [stderr] Checking tokio-tungstenite v0.26.2 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Compiling zbus_macros v5.13.2 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Checking gdkwayland-sys v0.18.2 [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> crates/shared/src/models.rs:155:1 [INFO] [stdout] | [INFO] [stdout] 155 | / impl Default for VisibilityPolicy { [INFO] [stdout] 156 | | fn default() -> Self { [INFO] [stdout] 157 | | Self::Public [INFO] [stdout] 158 | | } [INFO] [stdout] 159 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 26 + #[derive(Default)] [INFO] [stdout] 27 | pub enum VisibilityPolicy { [INFO] [stdout] 28 ~ #[default] [INFO] [stdout] 29 ~ Public, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking glib v0.18.5 [INFO] [stderr] Checking libappindicator-sys v0.9.0 [INFO] [stderr] Checking dioxus-router v0.7.3 [INFO] [stderr] Checking zbus v5.13.2 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking sqlx v0.8.6 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking axum v0.8.8 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking ashpd v0.11.1 [INFO] [stderr] Checking notify-rust v4.12.0 [INFO] [stderr] Checking cairo-rs v0.18.5 [INFO] [stderr] Checking atk v0.18.2 [INFO] [stderr] Checking javascriptcore-rs v1.1.2 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking axum-reverse-proxy v1.1.2 [INFO] [stderr] Checking forumall-server v0.1.0 (/opt/rustwide/workdir/crates/server) [INFO] [stdout] warning: unused variable: `user_handle` [INFO] [stdout] --> crates/server/src/routes/uploads.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let user_handle = signed.user_id.split('@').next().unwrap_or(&signed.user_id); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `key_id` is never read [INFO] [stdout] --> crates/server/src/middleware/signature.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct SignedRequest { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 29 | pub user_id: String, [INFO] [stdout] 30 | pub key_id: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SignedRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `key_id` is never read [INFO] [stdout] --> crates/server/src/middleware/signature.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct SignedJson { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 50 | pub key_id: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `idempotency_key` is never used [INFO] [stdout] --> crates/server/src/middleware/signature.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn idempotency_key(headers: &HeaderMap) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `user_id` is never read [INFO] [stdout] --> crates/server/src/repo/joined_groups.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct JoinedGroupRow { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 9 | pub user_id: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `group_id` is never read [INFO] [stdout] --> crates/server/src/repo/members.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct MemberRow { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 9 | pub group_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `user_handle` and `updated_at` are never read [INFO] [stdout] --> crates/server/src/repo/presence.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PresenceRow { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub user_handle: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub updated_at: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `user_handle` and `updated_at` are never read [INFO] [stdout] --> crates/server/src/repo/privacy.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PrivacyRow { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 9 | pub user_handle: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub updated_at: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `group_id` is never read [INFO] [stdout] --> crates/server/src/repo/roles.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RoleRow { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 9 | pub id: String, [INFO] [stdout] 10 | pub group_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `created_at` is never read [INFO] [stdout] --> crates/server/src/repo/users.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct UserRow { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub created_at: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_handle` [INFO] [stdout] --> crates/server/src/routes/uploads.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let user_handle = signed.user_id.split('@').next().unwrap_or(&signed.user_id); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/server/src/middleware/signature.rs:19:31 [INFO] [stdout] | [INFO] [stdout] 19 | if stripped.contains('@') { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 20 | | stripped.to_string() [INFO] [stdout] 21 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/server/src/middleware/signature.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 22 | | stripped.to_string() [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function can be simplified using the `async fn` syntax [INFO] [stdout] --> crates/server/src/middleware/signature.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn from_request(req: Request, state: &S) -> impl std::future::Future> + Send { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn [INFO] [stdout] = note: `#[warn(clippy::manual_async_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> crates/server/src/repo/channels.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn create( [INFO] [stdout] 23 | | pool: &SqlitePool, [INFO] [stdout] 24 | | id: &str, [INFO] [stdout] 25 | | group_id: &str, [INFO] [stdout] ... | [INFO] [stdout] 32 | | now: &str, [INFO] [stdout] 33 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> crates/server/src/repo/channels.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / pub async fn update( [INFO] [stdout] 91 | | pool: &SqlitePool, [INFO] [stdout] 92 | | id: &str, [INFO] [stdout] 93 | | name: &str, [INFO] [stdout] ... | [INFO] [stdout] 98 | | updated_at: &str, [INFO] [stdout] 99 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> crates/server/src/repo/groups.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub async fn create( [INFO] [stdout] 21 | | pool: &SqlitePool, [INFO] [stdout] 22 | | id: &str, [INFO] [stdout] 23 | | name: &str, [INFO] [stdout] ... | [INFO] [stdout] 29 | | now: &str, [INFO] [stdout] 30 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> crates/server/src/repo/messages.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn create( [INFO] [stdout] 23 | | pool: &SqlitePool, [INFO] [stdout] 24 | | id: &str, [INFO] [stdout] 25 | | channel_id: &str, [INFO] [stdout] ... | [INFO] [stdout] 33 | | created_at: &str, [INFO] [stdout] 34 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> crates/server/src/repo/uploads.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / pub async fn create( [INFO] [stdout] 20 | | pool: &SqlitePool, [INFO] [stdout] 21 | | id: &str, [INFO] [stdout] 22 | | user_id: &str, [INFO] [stdout] ... | [INFO] [stdout] 28 | | created_at: &str, [INFO] [stdout] 29 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `key_id` is never read [INFO] [stdout] --> crates/server/src/middleware/signature.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct SignedRequest { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 29 | pub user_id: String, [INFO] [stdout] 30 | pub key_id: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SignedRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `key_id` is never read [INFO] [stdout] --> crates/server/src/middleware/signature.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct SignedJson { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 50 | pub key_id: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `idempotency_key` is never used [INFO] [stdout] --> crates/server/src/middleware/signature.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 271 | pub fn idempotency_key(headers: &HeaderMap) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `user_id` is never read [INFO] [stdout] --> crates/server/src/repo/joined_groups.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct JoinedGroupRow { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 9 | pub user_id: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `group_id` is never read [INFO] [stdout] --> crates/server/src/repo/members.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct MemberRow { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 9 | pub group_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `user_handle` and `updated_at` are never read [INFO] [stdout] --> crates/server/src/repo/presence.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PresenceRow { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub user_handle: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub updated_at: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `user_handle` and `updated_at` are never read [INFO] [stdout] --> crates/server/src/repo/privacy.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PrivacyRow { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 9 | pub user_handle: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub updated_at: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `group_id` is never read [INFO] [stdout] --> crates/server/src/repo/roles.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RoleRow { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 9 | pub id: String, [INFO] [stdout] 10 | pub group_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `created_at` is never read [INFO] [stdout] --> crates/server/src/repo/users.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct UserRow { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub created_at: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> crates/server/src/middleware/signature.rs:19:31 [INFO] [stdout] | [INFO] [stdout] 19 | if stripped.contains('@') { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 20 | | stripped.to_string() [INFO] [stdout] 21 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> crates/server/src/middleware/signature.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 22 | | stripped.to_string() [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function can be simplified using the `async fn` syntax [INFO] [stdout] --> crates/server/src/middleware/signature.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | fn from_request(req: Request, state: &S) -> impl std::future::Future> + Send { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_async_fn [INFO] [stdout] = note: `#[warn(clippy::manual_async_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> crates/server/src/repo/channels.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn create( [INFO] [stdout] 23 | | pool: &SqlitePool, [INFO] [stdout] 24 | | id: &str, [INFO] [stdout] 25 | | group_id: &str, [INFO] [stdout] ... | [INFO] [stdout] 32 | | now: &str, [INFO] [stdout] 33 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> crates/server/src/repo/channels.rs:90:1 [INFO] [stdout] | [INFO] [stdout] 90 | / pub async fn update( [INFO] [stdout] 91 | | pool: &SqlitePool, [INFO] [stdout] 92 | | id: &str, [INFO] [stdout] 93 | | name: &str, [INFO] [stdout] ... | [INFO] [stdout] 98 | | updated_at: &str, [INFO] [stdout] 99 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> crates/server/src/repo/groups.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub async fn create( [INFO] [stdout] 21 | | pool: &SqlitePool, [INFO] [stdout] 22 | | id: &str, [INFO] [stdout] 23 | | name: &str, [INFO] [stdout] ... | [INFO] [stdout] 29 | | now: &str, [INFO] [stdout] 30 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> crates/server/src/repo/messages.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | / pub async fn create( [INFO] [stdout] 23 | | pool: &SqlitePool, [INFO] [stdout] 24 | | id: &str, [INFO] [stdout] 25 | | channel_id: &str, [INFO] [stdout] ... | [INFO] [stdout] 33 | | created_at: &str, [INFO] [stdout] 34 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> crates/server/src/repo/uploads.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / pub async fn create( [INFO] [stdout] 20 | | pool: &SqlitePool, [INFO] [stdout] 21 | | id: &str, [INFO] [stdout] 22 | | user_id: &str, [INFO] [stdout] ... | [INFO] [stdout] 28 | | created_at: &str, [INFO] [stdout] 29 | | ) -> Result<(), RepoError> { [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/server/src/routes/roles.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 59 - roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] 59 + roles.sort_by_key(|b| std::cmp::Reverse(b.position)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> crates/server/src/routes/roles.rs:187:16 [INFO] [stdout] | [INFO] [stdout] 187 | color: payload.color.or_else(|| if existing.color.is_empty() { None } else { Some(existing.color) }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `or` instead [INFO] [stdout] | [INFO] [stdout] 187 - color: payload.color.or_else(|| if existing.color.is_empty() { None } else { Some(existing.color) }), [INFO] [stdout] 187 + color: payload.color.or(if existing.color.is_empty() { None } else { Some(existing.color) }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> crates/server/src/ws.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | static CHANNELS: once_cell::sync::Lazy< [INFO] [stdout] | __________________^ [INFO] [stdout] 28 | | Arc>>>>, [INFO] [stdout] 29 | | > = once_cell::sync::Lazy::new(|| Arc::new(RwLock::new(HashMap::new()))); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> crates/server/src/ws.rs:32:21 [INFO] [stdout] | [INFO] [stdout] 32 | static CONNECTIONS: once_cell::sync::Lazy>>>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/server/src/routes/roles.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 59 - roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] 59 + roles.sort_by_key(|b| std::cmp::Reverse(b.position)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> crates/server/src/routes/roles.rs:187:16 [INFO] [stdout] | [INFO] [stdout] 187 | color: payload.color.or_else(|| if existing.color.is_empty() { None } else { Some(existing.color) }), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `or` instead [INFO] [stdout] | [INFO] [stdout] 187 - color: payload.color.or_else(|| if existing.color.is_empty() { None } else { Some(existing.color) }), [INFO] [stdout] 187 + color: payload.color.or(if existing.color.is_empty() { None } else { Some(existing.color) }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> crates/server/src/ws.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 27 | static CHANNELS: once_cell::sync::Lazy< [INFO] [stdout] | __________________^ [INFO] [stdout] 28 | | Arc>>>>, [INFO] [stdout] 29 | | > = once_cell::sync::Lazy::new(|| Arc::new(RwLock::new(HashMap::new()))); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> crates/server/src/ws.rs:32:21 [INFO] [stdout] | [INFO] [stdout] 32 | static CONNECTIONS: once_cell::sync::Lazy>>>> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking gdk-pixbuf v0.18.5 [INFO] [stderr] Checking pango v0.18.3 [INFO] [stderr] Checking soup3 v0.5.0 [INFO] [stderr] Checking gdk v0.18.2 [INFO] [stderr] Checking webkit2gtk v2.0.1 [INFO] [stderr] Checking muda v0.17.1 [INFO] [stderr] Checking libappindicator v0.9.0 [INFO] [stderr] Checking tao v0.34.5 [INFO] [stderr] Checking tray-icon v0.21.3 [INFO] [stderr] Checking dioxus v0.7.3 [INFO] [stderr] Checking forumall-client v0.1.0 (/opt/rustwide/workdir/crates/client) [INFO] [stdout] warning: this is an `else {..}` but the formatting might hide it [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | class: if *active_tab.read() == 0 { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 90 | | "flex-1 px-4 py-2 text-sm font-medium text-white border-b-2 border-[#5865f2]" [INFO] [stdout] 91 | | } else { [INFO] [stdout] 92 | | "flex-1 px-4 py-2 text-sm font-medium text-[#b5bac1] hover:text-white" [INFO] [stdout] 93 | | }, [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, remove the `else` or remove the new line between `else` and `{..}` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stdout] = note: `#[warn(clippy::suspicious_else_formatting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is an `else {..}` but the formatting might hide it [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:98:32 [INFO] [stdout] | [INFO] [stdout] 98 | class: if *active_tab.read() == 1 { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 99 | | "flex-1 px-4 py-2 text-sm font-medium text-white border-b-2 border-[#5865f2]" [INFO] [stdout] 100 | | } else { [INFO] [stdout] 101 | | "flex-1 px-4 py-2 text-sm font-medium text-[#b5bac1] hover:text-white" [INFO] [stdout] 102 | | }, [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, remove the `else` or remove the new line between `else` and `{..}` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is an `else {..}` but the formatting might hide it [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:358:36 [INFO] [stdout] | [INFO] [stdout] 358 | ... class: if *filter.read() == value { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 359 | | ... "px-3 py-1 text-xs rounded-full bg-[#5865f2] text-white" [INFO] [stdout] 360 | | ... } else { [INFO] [stdout] 361 | | ... "px-3 py-1 text-xs rounded-full bg-[#1e1f22] text-[#b5bac1] hover:text-white" [INFO] [stdout] 362 | | ... }, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, remove the `else` or remove the new line between `else` and `{..}` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is an `else {..}` but the formatting might hide it [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | class: if *active_tab.read() == 0 { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 90 | | "flex-1 px-4 py-2 text-sm font-medium text-white border-b-2 border-[#5865f2]" [INFO] [stdout] 91 | | } else { [INFO] [stdout] 92 | | "flex-1 px-4 py-2 text-sm font-medium text-[#b5bac1] hover:text-white" [INFO] [stdout] 93 | | }, [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, remove the `else` or remove the new line between `else` and `{..}` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stdout] = note: `#[warn(clippy::suspicious_else_formatting)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is an `else {..}` but the formatting might hide it [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:98:32 [INFO] [stdout] | [INFO] [stdout] 98 | class: if *active_tab.read() == 1 { [INFO] [stdout] | ________________________________^ [INFO] [stdout] 99 | | "flex-1 px-4 py-2 text-sm font-medium text-white border-b-2 border-[#5865f2]" [INFO] [stdout] 100 | | } else { [INFO] [stdout] 101 | | "flex-1 px-4 py-2 text-sm font-medium text-[#b5bac1] hover:text-white" [INFO] [stdout] 102 | | }, [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, remove the `else` or remove the new line between `else` and `{..}` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is an `else {..}` but the formatting might hide it [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:358:36 [INFO] [stdout] | [INFO] [stdout] 358 | ... class: if *filter.read() == value { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 359 | | ... "px-3 py-1 text-xs rounded-full bg-[#5865f2] text-white" [INFO] [stdout] 360 | | ... } else { [INFO] [stdout] 361 | | ... "px-3 py-1 text-xs rounded-full bg-[#1e1f22] text-[#b5bac1] hover:text-white" [INFO] [stdout] 362 | | ... }, [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, remove the `else` or remove the new line between `else` and `{..}` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::get_my_role`: Use get_my_base_role instead [INFO] [stdout] --> crates/client/src/stores/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | get_my_role, remove_member_from_cache, remove_role_from_cache, set_group_members, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::set_my_role`: Use set_my_roles instead [INFO] [stdout] --> crates/client/src/stores/mod.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | set_group_roles, set_my_role, update_member_role_in_cache, update_role_in_cache, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::update_member_role_in_cache`: Use update_member_roles_in_cache instead [INFO] [stdout] --> crates/client/src/stores/mod.rs:12:35 [INFO] [stdout] | [INFO] [stdout] 12 | set_group_roles, set_my_role, update_member_role_in_cache, update_role_in_cache, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::get_my_role`: Use get_my_base_role instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::stores::members::{get_my_role, set_my_role}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::set_my_role`: Use set_my_roles instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::stores::members::{get_my_role, set_my_role}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::set_my_role`: Use set_my_roles instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | set_my_role(&group_id, response.my_role.clone()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::get_my_role`: Use get_my_base_role instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:201:23 [INFO] [stdout] | [INFO] [stdout] 201 | let my_role = get_my_role(&group_id).unwrap_or_else(|| "member".to_string()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::get_my_role`: Use get_my_base_role instead [INFO] [stdout] --> crates/client/src/stores/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | get_my_role, remove_member_from_cache, remove_role_from_cache, set_group_members, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::set_my_role`: Use set_my_roles instead [INFO] [stdout] --> crates/client/src/stores/mod.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | set_group_roles, set_my_role, update_member_role_in_cache, update_role_in_cache, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::update_member_role_in_cache`: Use update_member_roles_in_cache instead [INFO] [stdout] --> crates/client/src/stores/mod.rs:12:35 [INFO] [stdout] | [INFO] [stdout] 12 | set_group_roles, set_my_role, update_member_role_in_cache, update_role_in_cache, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::get_my_role`: Use get_my_base_role instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::stores::members::{get_my_role, set_my_role}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::set_my_role`: Use set_my_roles instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::stores::members::{get_my_role, set_my_role}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::set_my_role`: Use set_my_roles instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 179 | set_my_role(&group_id, response.my_role.clone()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `stores::members::get_my_role`: Use get_my_base_role instead [INFO] [stdout] --> crates/client/src/views/channel_view.rs:201:23 [INFO] [stdout] | [INFO] [stdout] 201 | let my_role = get_my_role(&group_id).unwrap_or_else(|| "member".to_string()); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/client/src/components/profile/profile_edit_form.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut avatar_url = use_signal(|| props.profile.avatar.clone().unwrap_or_default()); [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] --> crates/client/src/components/profile/profile_edit_form.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut avatar_url = use_signal(|| props.profile.avatar.clone().unwrap_or_default()); [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] --> crates/client/src/components/ui/upload_modal.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | mut selected: Signal>, [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] --> crates/client/src/components/ui/upload_modal.rs:321:5 [INFO] [stdout] | [INFO] [stdout] 321 | mut selected: Signal>, [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1556:26 [INFO] [stdout] | [INFO] [stdout] 1556 | for (idx, pending) in pending_attachments.read().iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1556:26 [INFO] [stdout] | [INFO] [stdout] 1556 | for (idx, pending) in pending_attachments.read().iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/client/src/views/home.rs:1428:9 [INFO] [stdout] | [INFO] [stdout] 1428 | let mut avatar = use_signal(|| group_avatar.clone().unwrap_or_default()); [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] --> crates/client/src/views/home.rs:1428:9 [INFO] [stdout] | [INFO] [stdout] 1428 | let mut avatar = use_signal(|| group_avatar.clone().unwrap_or_default()); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> crates/client/src/client_keys.rs:129:48 [INFO] [stdout] | [INFO] [stdout] 129 | let body_hash = hex::encode(Sha256::digest(&[])); [INFO] [stdout] | ^^^ help: change this to: `[]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> crates/client/src/ws/manager.rs:178:18 [INFO] [stdout] | [INFO] [stdout] 178 | .or_insert_with(ChannelMessages::default) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/ws/manager.rs:255:45 [INFO] [stdout] | [INFO] [stdout] 255 | let mut active_connections = use_signal(|| HashMap::>::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `HashMap::>::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> crates/client/src/client_keys.rs:129:48 [INFO] [stdout] | [INFO] [stdout] 129 | let body_hash = hex::encode(Sha256::digest(&[])); [INFO] [stdout] | ^^^ help: change this to: `[]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> crates/client/src/ws/manager.rs:178:18 [INFO] [stdout] | [INFO] [stdout] 178 | .or_insert_with(ChannelMessages::default) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/ws/manager.rs:255:45 [INFO] [stdout] | [INFO] [stdout] 255 | let mut active_connections = use_signal(|| HashMap::>::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `HashMap::>::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/memo_modal.rs:245:69 [INFO] [stdout] | [INFO] [stdout] 245 | ... let on_expand = on_expand_memo.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_memo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/memo_modal.rs:269:69 [INFO] [stdout] | [INFO] [stdout] 269 | ... let on_expand = on_expand_article.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_article` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/memo_modal.rs:245:69 [INFO] [stdout] | [INFO] [stdout] 245 | ... let on_expand = on_expand_memo.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_memo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/memo_modal.rs:269:69 [INFO] [stdout] | [INFO] [stdout] 269 | ... let on_expand = on_expand_article.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_article` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/components/messages/memo_modal.rs:564:37 [INFO] [stdout] | [INFO] [stdout] 564 | let mut reply_text = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> crates/client/src/components/messages/article_item.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | while let Some(next) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for next in chars.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> crates/client/src/components/messages/article_item.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | while let Some(next) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for next in chars.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/components/messages/memo_modal.rs:564:37 [INFO] [stdout] | [INFO] [stdout] 564 | let mut reply_text = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> crates/client/src/components/messages/article_item.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | while let Some(next) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for next in chars.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> crates/client/src/components/messages/article_item.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | while let Some(next) = chars.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for next in chars.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/article_modal.rs:212:69 [INFO] [stdout] | [INFO] [stdout] 212 | ... let on_expand = on_expand_memo.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_memo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/article_modal.rs:236:69 [INFO] [stdout] | [INFO] [stdout] 236 | ... let on_expand = on_expand_article.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_article` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/components/messages/article_modal.rs:531:37 [INFO] [stdout] | [INFO] [stdout] 531 | let mut reply_text = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/article_modal.rs:212:69 [INFO] [stdout] | [INFO] [stdout] 212 | ... let on_expand = on_expand_memo.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_memo` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/messages/article_modal.rs:236:69 [INFO] [stdout] | [INFO] [stdout] 236 | ... let on_expand = on_expand_article.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_expand_article` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback<(Availability, Option)>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/presence_selector.rs:41:49 [INFO] [stdout] | [INFO] [stdout] 41 | ... let on_change = props.on_change.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback<(Availability, Option)>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/presence_selector.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | let on_change = props.on_change.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/privacy_settings.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | let on_save = props.on_save.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_save` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/components/messages/article_modal.rs:531:37 [INFO] [stdout] | [INFO] [stdout] 531 | let mut reply_text = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/privacy_settings.rs:109:37 [INFO] [stdout] | [INFO] [stdout] 109 | let on_change = props.on_change.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/profile_edit_form.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | let on_save = props.on_save.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_save` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback<(Availability, Option)>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/presence_selector.rs:41:49 [INFO] [stdout] | [INFO] [stdout] 41 | ... let on_change = props.on_change.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback<(Availability, Option)>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/presence_selector.rs:67:41 [INFO] [stdout] | [INFO] [stdout] 67 | let on_change = props.on_change.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/privacy_settings.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | let on_save = props.on_save.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_save` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/privacy_settings.rs:109:37 [INFO] [stdout] | [INFO] [stdout] 109 | let on_change = props.on_change.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> crates/client/src/components/ui/attachment_display.rs:22:33 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some(last_segment) = attachment.url.split('/').last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 22 - if let Some(last_segment) = attachment.url.split('/').last() { [INFO] [stdout] 22 + if let Some(last_segment) = attachment.url.split('/').next_back() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> crates/client/src/components/ui/button.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / impl Default for ButtonVariant { [INFO] [stdout] 11 | | fn default() -> Self { [INFO] [stdout] 12 | | Self::Primary [INFO] [stdout] 13 | | } [INFO] [stdout] 14 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 4 + #[derive(Default)] [INFO] [stdout] 5 | pub enum ButtonVariant { [INFO] [stdout] 6 ~ #[default] [INFO] [stdout] 7 ~ Primary, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/profile/profile_edit_form.rs:63:35 [INFO] [stdout] | [INFO] [stdout] 63 | let on_save = props.on_save.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_save` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-binding `let` on a future [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / let _ = use_resource(move || { [INFO] [stdout] 40 | | let api_client = api_client.clone(); [INFO] [stdout] 41 | | async move { [INFO] [stdout] 42 | | if *active_tab.read() == 1 && !*MY_UPLOADS_LOADED.read() { [INFO] [stdout] ... | [INFO] [stdout] 48 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: consider awaiting the future or dropping explicitly with `std::mem::drop` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_future [INFO] [stdout] = note: `#[warn(clippy::let_underscore_future)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> crates/client/src/components/ui/attachment_display.rs:22:33 [INFO] [stdout] | [INFO] [stdout] 22 | if let Some(last_segment) = attachment.url.split('/').last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 22 - if let Some(last_segment) = attachment.url.split('/').last() { [INFO] [stdout] 22 + if let Some(last_segment) = attachment.url.split('/').next_back() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:37 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:70 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `selected` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:88 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:107 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `show` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:113:49 [INFO] [stdout] | [INFO] [stdout] 113 | {library_tab(is_avatar, filter.clone(), selected.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `filter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:113:65 [INFO] [stdout] | [INFO] [stdout] 113 | {library_tab(is_avatar, filter.clone(), selected.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `selected` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:131:49 [INFO] [stdout] | [INFO] [stdout] 131 | ... let on_select = on_select.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> crates/client/src/components/ui/button.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / impl Default for ButtonVariant { [INFO] [stdout] 11 | | fn default() -> Self { [INFO] [stdout] 12 | | Self::Primary [INFO] [stdout] 13 | | } [INFO] [stdout] 14 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 4 + #[derive(Default)] [INFO] [stdout] 5 | pub enum ButtonVariant { [INFO] [stdout] 6 ~ #[default] [INFO] [stdout] 7 ~ Primary, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 162 | {upload_file_picker(auth.clone(), is_avatar, accept)} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:172:34 [INFO] [stdout] | [INFO] [stdout] 172 | ... {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 172 - {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] 172 + {upload.filename.split('.').next_back().unwrap_or("?").to_uppercase()} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:200:73 [INFO] [stdout] | [INFO] [stdout] 200 | ... let on_select = on_select.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:378:68 [INFO] [stdout] | [INFO] [stdout] 378 | {file_grid_item(upload.clone(), is_avatar, selected.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `selected` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:432:26 [INFO] [stdout] | [INFO] [stdout] 432 | {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 432 - {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] 432 + {upload.filename.split('.').next_back().unwrap_or("?").to_uppercase()} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-binding `let` on a future [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | / let _ = use_resource(move || { [INFO] [stdout] 40 | | let api_client = api_client.clone(); [INFO] [stdout] 41 | | async move { [INFO] [stdout] 42 | | if *active_tab.read() == 1 && !*MY_UPLOADS_LOADED.read() { [INFO] [stdout] ... | [INFO] [stdout] 48 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: consider awaiting the future or dropping explicitly with `std::mem::drop` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_underscore_future [INFO] [stdout] = note: `#[warn(clippy::let_underscore_future)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:37 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:70 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `selected` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:88 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:111:107 [INFO] [stdout] | [INFO] [stdout] 111 | {upload_tab(auth.clone(), is_avatar, accept, selected.clone(), on_select.clone(), show.clone())} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `show` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:113:49 [INFO] [stdout] | [INFO] [stdout] 113 | {library_tab(is_avatar, filter.clone(), selected.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `filter` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:113:65 [INFO] [stdout] | [INFO] [stdout] 113 | {library_tab(is_avatar, filter.clone(), selected.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `selected` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:131:49 [INFO] [stdout] | [INFO] [stdout] 131 | ... let on_select = on_select.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 162 | {upload_file_picker(auth.clone(), is_avatar, accept)} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:172:34 [INFO] [stdout] | [INFO] [stdout] 172 | ... {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 172 - {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] 172 + {upload.filename.split('.').next_back().unwrap_or("?").to_uppercase()} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:200:73 [INFO] [stdout] | [INFO] [stdout] 200 | ... let on_select = on_select.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/client/src/stores/members.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 141 - roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] 141 + roles.sort_by_key(|b| std::cmp::Reverse(b.position)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:378:68 [INFO] [stdout] | [INFO] [stdout] 378 | {file_grid_item(upload.clone(), is_avatar, selected.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `selected` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/client/src/stores/messages.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | messages.sort_by(|a, b| a.created_at.cmp(&b.created_at)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 90 - messages.sort_by(|a, b| a.created_at.cmp(&b.created_at)); [INFO] [stdout] 90 + messages.sort_by_key(|a| a.created_at); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> crates/client/src/components/ui/upload_modal.rs:432:26 [INFO] [stdout] | [INFO] [stdout] 432 | {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 432 - {upload.filename.split('.').last().unwrap_or("?").to_uppercase()} [INFO] [stdout] 432 + {upload.filename.split('.').next_back().unwrap_or("?").to_uppercase()} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/article_editor.rs:41:32 [INFO] [stdout] | [INFO] [stdout] 41 | let mut title = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/article_editor.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | let mut content = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/article_editor.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/article_editor.rs:74:20 [INFO] [stdout] | [INFO] [stdout] 74 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:107:20 [INFO] [stdout] | [INFO] [stdout] 107 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:134:20 [INFO] [stdout] | [INFO] [stdout] 134 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:172:20 [INFO] [stdout] | [INFO] [stdout] 172 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:306:38 [INFO] [stdout] | [INFO] [stdout] 306 | replying_to: replying_to.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:307:34 [INFO] [stdout] | [INFO] [stdout] 307 | editing: editing.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:319:42 [INFO] [stdout] | [INFO] [stdout] 319 | ... replying_to: replying_to.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:320:38 [INFO] [stdout] | [INFO] [stdout] 320 | ... editing: editing.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/client/src/stores/members.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 141 - roles.sort_by(|a, b| b.position.cmp(&a.position)); [INFO] [stdout] 141 + roles.sort_by_key(|b| std::cmp::Reverse(b.position)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> crates/client/src/stores/messages.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | messages.sort_by(|a, b| a.created_at.cmp(&b.created_at)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 90 - messages.sort_by(|a, b| a.created_at.cmp(&b.created_at)); [INFO] [stdout] 90 + messages.sort_by_key(|a| a.created_at); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:467:20 [INFO] [stdout] | [INFO] [stdout] 467 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/article_editor.rs:41:32 [INFO] [stdout] | [INFO] [stdout] 41 | let mut title = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/article_editor.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | let mut content = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:649:63 [INFO] [stdout] | [INFO] [stdout] 649 | ... let mut replying_to = replying_to.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:655:59 [INFO] [stdout] | [INFO] [stdout] 655 | ... let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/article_editor.rs:49:20 [INFO] [stdout] | [INFO] [stdout] 49 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/article_editor.rs:74:20 [INFO] [stdout] | [INFO] [stdout] 74 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:107:20 [INFO] [stdout] | [INFO] [stdout] 107 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:134:20 [INFO] [stdout] | [INFO] [stdout] 134 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:172:20 [INFO] [stdout] | [INFO] [stdout] 172 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:306:38 [INFO] [stdout] | [INFO] [stdout] 306 | replying_to: replying_to.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:307:34 [INFO] [stdout] | [INFO] [stdout] 307 | editing: editing.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:319:42 [INFO] [stdout] | [INFO] [stdout] 319 | ... replying_to: replying_to.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:320:38 [INFO] [stdout] | [INFO] [stdout] 320 | ... editing: editing.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:467:20 [INFO] [stdout] | [INFO] [stdout] 467 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:649:63 [INFO] [stdout] | [INFO] [stdout] 649 | ... let mut replying_to = replying_to.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:655:59 [INFO] [stdout] | [INFO] [stdout] 655 | ... let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1301:31 [INFO] [stdout] | [INFO] [stdout] 1301 | let mut text = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1302:32 [INFO] [stdout] | [INFO] [stdout] 1302 | let mut title = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1324:46 [INFO] [stdout] | [INFO] [stdout] 1324 | let mut pending_attachments = use_signal(|| Vec::::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Vec::::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1347:31 [INFO] [stdout] | [INFO] [stdout] 1347 | let mut replying_to = replying_to.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1348:27 [INFO] [stdout] | [INFO] [stdout] 1348 | let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1451:43 [INFO] [stdout] | [INFO] [stdout] 1451 | let mut replying_to = replying_to.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1498:39 [INFO] [stdout] | [INFO] [stdout] 1498 | let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1823:43 [INFO] [stdout] | [INFO] [stdout] 1823 | let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1850:44 [INFO] [stdout] | [INFO] [stdout] 1850 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:121:20 [INFO] [stdout] | [INFO] [stdout] 121 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:128:24 [INFO] [stdout] | [INFO] [stdout] 128 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:131:30 [INFO] [stdout] | [INFO] [stdout] 131 | let on_removed = on_removed.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_removed` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:158:20 [INFO] [stdout] | [INFO] [stdout] 158 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:165:24 [INFO] [stdout] | [INFO] [stdout] 165 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:168:28 [INFO] [stdout] | [INFO] [stdout] 168 | let on_retry = on_retry.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_retry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1301:31 [INFO] [stdout] | [INFO] [stdout] 1301 | let mut text = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1302:32 [INFO] [stdout] | [INFO] [stdout] 1302 | let mut title = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1324:46 [INFO] [stdout] | [INFO] [stdout] 1324 | let mut pending_attachments = use_signal(|| Vec::::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Vec::::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1347:31 [INFO] [stdout] | [INFO] [stdout] 1347 | let mut replying_to = replying_to.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1348:27 [INFO] [stdout] | [INFO] [stdout] 1348 | let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1451:43 [INFO] [stdout] | [INFO] [stdout] 1451 | let mut replying_to = replying_to.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `replying_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1498:39 [INFO] [stdout] | [INFO] [stdout] 1498 | let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:447:20 [INFO] [stdout] | [INFO] [stdout] 447 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:476:44 [INFO] [stdout] | [INFO] [stdout] 476 | ... on_select: on_select.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:487:42 [INFO] [stdout] | [INFO] [stdout] 487 | let auth_clone = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:493:40 [INFO] [stdout] | [INFO] [stdout] 493 | ... let auth = auth_clone.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `auth_clone` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource, String>>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:496:48 [INFO] [stdout] | [INFO] [stdout] 496 | ... let mut channels = channels.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `channels` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:516:43 [INFO] [stdout] | [INFO] [stdout] 516 | let auth_clone2 = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | let nav_clone = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:522:40 [INFO] [stdout] | [INFO] [stdout] 522 | ... let auth = auth_clone2.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `auth_clone2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:524:39 [INFO] [stdout] | [INFO] [stdout] 524 | ... let nav = nav_clone.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `nav_clone` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1823:43 [INFO] [stdout] | [INFO] [stdout] 1823 | let mut editing = editing.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `editing` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/channel_view.rs:1850:44 [INFO] [stdout] | [INFO] [stdout] 1850 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:619:31 [INFO] [stdout] | [INFO] [stdout] 619 | let mut slug = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:620:31 [INFO] [stdout] | [INFO] [stdout] 620 | let mut name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:645:26 [INFO] [stdout] | [INFO] [stdout] 645 | let on_created = on_created.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:646:20 [INFO] [stdout] | [INFO] [stdout] 646 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:121:20 [INFO] [stdout] | [INFO] [stdout] 121 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:128:24 [INFO] [stdout] | [INFO] [stdout] 128 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:131:30 [INFO] [stdout] | [INFO] [stdout] 131 | let on_removed = on_removed.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_removed` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:158:20 [INFO] [stdout] | [INFO] [stdout] 158 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:165:24 [INFO] [stdout] | [INFO] [stdout] 165 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:168:28 [INFO] [stdout] | [INFO] [stdout] 168 | let on_retry = on_retry.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_retry` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:770:31 [INFO] [stdout] | [INFO] [stdout] 770 | let mut name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:771:32 [INFO] [stdout] | [INFO] [stdout] 771 | let mut topic = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:789:26 [INFO] [stdout] | [INFO] [stdout] 789 | let on_created = on_created.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:793:20 [INFO] [stdout] | [INFO] [stdout] 793 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:909:37 [INFO] [stdout] | [INFO] [stdout] 909 | let mut group_name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:910:35 [INFO] [stdout] | [INFO] [stdout] 910 | let mut host_url = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:925:25 [INFO] [stdout] | [INFO] [stdout] 925 | let on_joined = on_joined.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_joined` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:926:20 [INFO] [stdout] | [INFO] [stdout] 926 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:447:20 [INFO] [stdout] | [INFO] [stdout] 447 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:476:44 [INFO] [stdout] | [INFO] [stdout] 476 | ... on_select: on_select.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_select` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:487:42 [INFO] [stdout] | [INFO] [stdout] 487 | let auth_clone = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:493:40 [INFO] [stdout] | [INFO] [stdout] 493 | ... let auth = auth_clone.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `auth_clone` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource, String>>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:496:48 [INFO] [stdout] | [INFO] [stdout] 496 | ... let mut channels = channels.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `channels` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:516:43 [INFO] [stdout] | [INFO] [stdout] 516 | let auth_clone2 = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | let nav_clone = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:522:40 [INFO] [stdout] | [INFO] [stdout] 522 | ... let auth = auth_clone2.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `auth_clone2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:524:39 [INFO] [stdout] | [INFO] [stdout] 524 | ... let nav = nav_clone.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `nav_clone` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:619:31 [INFO] [stdout] | [INFO] [stdout] 619 | let mut slug = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:620:31 [INFO] [stdout] | [INFO] [stdout] 620 | let mut name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:645:26 [INFO] [stdout] | [INFO] [stdout] 645 | let on_created = on_created.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:646:20 [INFO] [stdout] | [INFO] [stdout] 646 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:770:31 [INFO] [stdout] | [INFO] [stdout] 770 | let mut name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:771:32 [INFO] [stdout] | [INFO] [stdout] 771 | let mut topic = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:789:26 [INFO] [stdout] | [INFO] [stdout] 789 | let on_created = on_created.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:793:20 [INFO] [stdout] | [INFO] [stdout] 793 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1406:20 [INFO] [stdout] | [INFO] [stdout] 1406 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:1453:44 [INFO] [stdout] | [INFO] [stdout] 1453 | let mut add_member_handle = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1472:20 [INFO] [stdout] | [INFO] [stdout] 1472 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:1479:40 [INFO] [stdout] | [INFO] [stdout] 1479 | let mut new_role_name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1492:20 [INFO] [stdout] | [INFO] [stdout] 1492 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1493:26 [INFO] [stdout] | [INFO] [stdout] 1493 | let on_deleted = on_deleted.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_deleted` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1494:19 [INFO] [stdout] | [INFO] [stdout] 1494 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1524:20 [INFO] [stdout] | [INFO] [stdout] 1524 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1525:26 [INFO] [stdout] | [INFO] [stdout] 1525 | let on_deleted = on_deleted.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_deleted` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1526:19 [INFO] [stdout] | [INFO] [stdout] 1526 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1568:20 [INFO] [stdout] | [INFO] [stdout] 1568 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1569:24 [INFO] [stdout] | [INFO] [stdout] 1569 | let on_close = on_close.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_close` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal<()>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1570:27 [INFO] [stdout] | [INFO] [stdout] 1570 | let mut refresh = refresh.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `refresh` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1615:20 [INFO] [stdout] | [INFO] [stdout] 1615 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1616:36 [INFO] [stdout] | [INFO] [stdout] 1616 | let mut members_resource = members_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `members_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1659:20 [INFO] [stdout] | [INFO] [stdout] 1659 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:909:37 [INFO] [stdout] | [INFO] [stdout] 909 | let mut group_name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:910:35 [INFO] [stdout] | [INFO] [stdout] 910 | let mut host_url = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:925:25 [INFO] [stdout] | [INFO] [stdout] 925 | let on_joined = on_joined.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_joined` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:926:20 [INFO] [stdout] | [INFO] [stdout] 926 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1790:59 [INFO] [stdout] | [INFO] [stdout] 1790 | ... {group_avatar_section(name.clone(), avatar.clone(), group_id.clone())} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1790:73 [INFO] [stdout] | [INFO] [stdout] 1790 | ... {group_avatar_section(name.clone(), avatar.clone(), group_id.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `avatar` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1406:20 [INFO] [stdout] | [INFO] [stdout] 1406 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:1453:44 [INFO] [stdout] | [INFO] [stdout] 1453 | let mut add_member_handle = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1472:20 [INFO] [stdout] | [INFO] [stdout] 1472 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/home.rs:1479:40 [INFO] [stdout] | [INFO] [stdout] 1479 | let mut new_role_name = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1492:20 [INFO] [stdout] | [INFO] [stdout] 1492 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1493:26 [INFO] [stdout] | [INFO] [stdout] 1493 | let on_deleted = on_deleted.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_deleted` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1494:19 [INFO] [stdout] | [INFO] [stdout] 1494 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1524:20 [INFO] [stdout] | [INFO] [stdout] 1524 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1525:26 [INFO] [stdout] | [INFO] [stdout] 1525 | let on_deleted = on_deleted.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_deleted` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1526:19 [INFO] [stdout] | [INFO] [stdout] 1526 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1568:20 [INFO] [stdout] | [INFO] [stdout] 1568 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1569:24 [INFO] [stdout] | [INFO] [stdout] 1569 | let on_close = on_close.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_close` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal<()>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1570:27 [INFO] [stdout] | [INFO] [stdout] 1570 | let mut refresh = refresh.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `refresh` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1615:20 [INFO] [stdout] | [INFO] [stdout] 1615 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1616:36 [INFO] [stdout] | [INFO] [stdout] 1616 | let mut members_resource = members_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `members_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2221:100 [INFO] [stdout] | [INFO] [stdout] 2221 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2222:114 [INFO] [stdout] | [INFO] [stdout] 2222 | ... let mut roles_resource = roles_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `roles_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1659:20 [INFO] [stdout] | [INFO] [stdout] 1659 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2080:60 [INFO] [stdout] | [INFO] [stdout] 2080 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2083:74 [INFO] [stdout] | [INFO] [stdout] 2083 | ... let mut roles_resource = roles_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `roles_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1790:59 [INFO] [stdout] | [INFO] [stdout] 1790 | ... {group_avatar_section(name.clone(), avatar.clone(), group_id.clone())} [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Signal` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:1790:73 [INFO] [stdout] | [INFO] [stdout] 1790 | ... {group_avatar_section(name.clone(), avatar.clone(), group_id.clone())} [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `avatar` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2344:80 [INFO] [stdout] | [INFO] [stdout] 2344 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2345:96 [INFO] [stdout] | [INFO] [stdout] 2345 | ... let mut members_resource = members_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `members_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2375:80 [INFO] [stdout] | [INFO] [stdout] 2375 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2376:96 [INFO] [stdout] | [INFO] [stdout] 2376 | ... let mut members_resource = members_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `members_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2537:20 [INFO] [stdout] | [INFO] [stdout] 2537 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2563:20 [INFO] [stdout] | [INFO] [stdout] 2563 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2637:20 [INFO] [stdout] | [INFO] [stdout] 2637 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2638:26 [INFO] [stdout] | [INFO] [stdout] 2638 | let on_updated = on_updated.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_updated` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2685:20 [INFO] [stdout] | [INFO] [stdout] 2685 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2686:26 [INFO] [stdout] | [INFO] [stdout] 2686 | let on_deleted = on_deleted.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_deleted` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2687:19 [INFO] [stdout] | [INFO] [stdout] 2687 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2221:100 [INFO] [stdout] | [INFO] [stdout] 2221 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2222:114 [INFO] [stdout] | [INFO] [stdout] 2222 | ... let mut roles_resource = roles_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `roles_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2080:60 [INFO] [stdout] | [INFO] [stdout] 2080 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2083:74 [INFO] [stdout] | [INFO] [stdout] 2083 | ... let mut roles_resource = roles_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `roles_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2344:80 [INFO] [stdout] | [INFO] [stdout] 2344 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2345:96 [INFO] [stdout] | [INFO] [stdout] 2345 | ... let mut members_resource = members_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `members_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2375:80 [INFO] [stdout] | [INFO] [stdout] 2375 | ... let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Resource>` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2376:96 [INFO] [stdout] | [INFO] [stdout] 2376 | ... let mut members_resource = members_resource.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `members_resource` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2537:20 [INFO] [stdout] | [INFO] [stdout] 2537 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2563:20 [INFO] [stdout] | [INFO] [stdout] 2563 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2637:20 [INFO] [stdout] | [INFO] [stdout] 2637 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2638:26 [INFO] [stdout] | [INFO] [stdout] 2638 | let on_updated = on_updated.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_updated` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2685:20 [INFO] [stdout] | [INFO] [stdout] 2685 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2686:26 [INFO] [stdout] | [INFO] [stdout] 2686 | let on_deleted = on_deleted.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `on_deleted` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Navigator` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/home.rs:2687:19 [INFO] [stdout] | [INFO] [stdout] 2687 | let nav = nav.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: try removing the `clone` call: `nav` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/group_sidebar_layout.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:118:20 [INFO] [stdout] | [INFO] [stdout] 118 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:387:25 [INFO] [stdout] | [INFO] [stdout] 387 | let _ = groups.restart(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 387 - let _ = groups.restart(); [INFO] [stdout] 387 + groups.restart(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:399:25 [INFO] [stdout] | [INFO] [stdout] 399 | let _ = groups.restart(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 399 - let _ = groups.restart(); [INFO] [stdout] 399 + groups.restart(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/login.rs:16:33 [INFO] [stdout] | [INFO] [stdout] 16 | let mut handle = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/login.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 17 | let mut password = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/register.rs:14:33 [INFO] [stdout] | [INFO] [stdout] 14 | let mut handle = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/register.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | let mut password = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/group_sidebar_layout.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `AuthContext` which implements the `Copy` trait [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:118:20 [INFO] [stdout] | [INFO] [stdout] 118 | let auth = auth.clone(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `auth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:387:25 [INFO] [stdout] | [INFO] [stdout] 387 | let _ = groups.restart(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 387 - let _ = groups.restart(); [INFO] [stdout] 387 + groups.restart(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> crates/client/src/views/layouts/home_sidebar_layout.rs:399:25 [INFO] [stdout] | [INFO] [stdout] 399 | let _ = groups.restart(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 399 - let _ = groups.restart(); [INFO] [stdout] 399 + groups.restart(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/login.rs:16:33 [INFO] [stdout] | [INFO] [stdout] 16 | let mut handle = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/login.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 17 | let mut password = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/register.rs:14:33 [INFO] [stdout] | [INFO] [stdout] 14 | let mut handle = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> crates/client/src/views/register.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | let mut password = use_signal(|| String::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `String::new` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 08s [INFO] running `Command { std: "docker" "inspect" "298bd2cb4d63e82755dd99a9c40c631edc1000f898bf95192eb3b6f73dbaf492", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "298bd2cb4d63e82755dd99a9c40c631edc1000f898bf95192eb3b6f73dbaf492", kill_on_drop: false }` [INFO] [stdout] 298bd2cb4d63e82755dd99a9c40c631edc1000f898bf95192eb3b6f73dbaf492