[INFO] cloning repository https://github.com/neosam/shifty-dioxus [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/neosam/shifty-dioxus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fshifty-dioxus", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fshifty-dioxus'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 33073e50eef5d01ae70bf28bab5b8c39947293f3 [INFO] linting neosam/shifty-dioxus against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fshifty-dioxus" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/neosam/shifty-dioxus [INFO] finished tweaking git repo https://github.com/neosam/shifty-dioxus [INFO] tweaked toml for git repo https://github.com/neosam/shifty-dioxus written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/neosam/shifty-dioxus 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/neosam/shifty-dioxus 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] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sledgehammer_bindgen_macro v0.6.1 [INFO] [stderr] Downloaded mockito v1.7.0 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.54 [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] db6a65108b619dbbd21968f56ad85a13b3ba691348d4e9213ecfc7d7a7a3654e [INFO] running `Command { std: "docker" "start" "-a" "db6a65108b619dbbd21968f56ad85a13b3ba691348d4e9213ecfc7d7a7a3654e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "db6a65108b619dbbd21968f56ad85a13b3ba691348d4e9213ecfc7d7a7a3654e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db6a65108b619dbbd21968f56ad85a13b3ba691348d4e9213ecfc7d7a7a3654e", kill_on_drop: false }` [INFO] [stdout] db6a65108b619dbbd21968f56ad85a13b3ba691348d4e9213ecfc7d7a7a3654e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] c7206f9cd6d0728d4105a8d8c8f1cad0c586d60ec7d4ee5e0b76c07e9ada2920 [INFO] running `Command { std: "docker" "start" "-a" "c7206f9cd6d0728d4105a8d8c8f1cad0c586d60ec7d4ee5e0b76c07e9ada2920", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Checking unicode-ident v1.0.19 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.104 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.104 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Checking dioxus-core-types v0.6.2 [INFO] [stderr] Checking bitflags v2.9.4 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Checking longest-increasing-subsequence v0.1.0 [INFO] [stderr] Compiling lazy-js-bundle v0.6.2 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling find-msvc-tools v0.1.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Compiling cc v1.2.41 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Checking hashbrown v0.16.0 [INFO] [stderr] Compiling syn v2.0.107 [INFO] [stderr] Compiling const_format_proc_macros v0.2.34 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking mio v1.1.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking const_format v0.2.35 [INFO] [stderr] Compiling openssl-sys v0.9.110 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking euclid v0.22.11 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking serde_json v1.0.145 [INFO] [stderr] Checking indexmap v2.12.0 [INFO] [stderr] Compiling dioxus-document v0.6.3 [INFO] [stderr] Checking keyboard-types v0.7.0 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling dioxus-interpreter-js v0.6.2 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling dioxus-config-macro v0.6.2 [INFO] [stderr] Compiling dioxus-web v0.6.3 [INFO] [stderr] Checking sledgehammer_utils v0.3.1 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Checking deranged v0.5.4 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Checking tracing-subscriber v0.3.20 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking iri-string v0.7.8 [INFO] [stderr] Checking rustls-pki-types v1.12.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking colored v3.0.0 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.104 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling dioxus-rsx v0.6.2 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.104 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.104 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling warnings-macro v0.2.0 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking generational-box v0.6.2 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling const-serialize-macro v0.6.2 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking js-sys v0.3.81 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling enumset_derive v0.14.0 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking dioxus-cli-config v0.6.3 [INFO] [stderr] Checking warnings v0.2.1 [INFO] [stderr] Compiling dioxus-core-macro v0.6.3 [INFO] [stderr] Compiling dioxus-html-internal-macro v0.6.2 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking potential_utf v0.1.3 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking enumset v1.1.10 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling sledgehammer_bindgen_macro v0.6.1 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Compiling const-serialize v0.6.2 [INFO] [stderr] Compiling manganis-core v0.6.2 [INFO] [stderr] Checking dioxus-core v0.6.3 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tungstenite v0.23.0 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Checking sledgehammer_bindgen v0.6.0 [INFO] [stderr] Checking hyper v1.7.0 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Compiling utoipa-gen v5.4.0 [INFO] [stderr] Compiling manganis-macro v0.6.2 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Compiling dioxus-router-macro v0.6.3 [INFO] [stderr] Checking manganis v0.6.2 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.54 [INFO] [stderr] Checking web-sys v0.3.81 [INFO] [stderr] Checking serde-wasm-bindgen v0.5.0 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking dioxus-logger v0.6.2 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking hyper-util v0.1.17 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Checking dioxus-signals v0.6.3 [INFO] [stderr] Checking dioxus-history v0.6.2 [INFO] [stderr] Checking dioxus-devtools-types v0.6.2 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking gloo-timers v0.3.0 [INFO] [stderr] Checking dioxus-hooks v0.6.2 [INFO] [stderr] Checking dioxus-devtools v0.6.2 [INFO] [stderr] Checking assert-json-diff v2.0.2 [INFO] [stderr] Checking dioxus-html v0.6.3 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.54 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.24 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Checking mockito v1.7.0 [INFO] [stderr] Checking wasm-bindgen-test v0.3.54 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking tokio-test v0.4.4 [INFO] [stderr] Checking dioxus-lib v0.6.2 [INFO] [stderr] Checking dioxus-router v0.6.3 [INFO] [stderr] Checking utoipa v5.4.0 [INFO] [stderr] Checking rest-types v1.0.5-dev (/opt/rustwide/workdir/rest-types) [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> rest-types/src/lib.rs:1369:44 [INFO] [stdout] | [INFO] [stdout] 1369 | use serde::{Deserialize, Deserializer, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking dioxus v0.6.3 [INFO] [stderr] Checking shifty-dioxus v1.10.0-dev (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `base_types::ImStr` [INFO] [stdout] --> src/component/booking_log_table.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | base_types::ImStr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/component/week_view.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 | ... () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/component/week_view.rs:244:29 [INFO] [stdout] | [INFO] [stdout] 244 | ... () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/component/week_view.rs:258:29 [INFO] [stdout] | [INFO] [stdout] 258 | ... () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `base_types::ImStr` [INFO] [stdout] --> src/component/booking_log_table.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | base_types::ImStr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/component/week_view.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 | ... () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/component/week_view.rs:244:29 [INFO] [stdout] | [INFO] [stdout] 244 | ... () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/component/week_view.rs:258:29 [INFO] [stdout] | [INFO] [stdout] 258 | ... () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/tests/mod.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error_store` [INFO] [stdout] --> src/page/user_details.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let error_store = ERROR_STORE.read(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_store` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_slots` is never used [INFO] [stdout] --> src/api.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | pub async fn get_slots( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bookings_for_week` is never used [INFO] [stdout] --> src/api.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | pub async fn get_bookings_for_week( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_special_days_for_week` is never used [INFO] [stdout] --> src/api.rs:615:14 [INFO] [stdout] | [INFO] [stdout] 615 | pub async fn get_special_days_for_week( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_bookings` is never used [INFO] [stdout] --> src/loader.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | pub async fn load_bookings( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_slots` is never used [INFO] [stdout] --> src/loader.rs:90:14 [INFO] [stdout] | [INFO] [stdout] 90 | pub async fn load_slots( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LoadBillingPeriod` is never constructed [INFO] [stdout] --> src/page/billing_period_details.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum BillingPeriodDetailsAction { [INFO] [stdout] | -------------------------- variant in this enum [INFO] [stdout] 18 | LoadBillingPeriod, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CopyFromPreviousWeek` and `LoadWeekMessage` are never constructed [INFO] [stdout] --> src/page/shiftplan.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum ShiftPlanAction { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 53 | CopyFromPreviousWeek, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | LoadWeekMessage, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClearSelection` is never constructed [INFO] [stdout] --> src/service/billing_period.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum BillingPeriodAction { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | ClearSelection, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BillingPeriodAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `LoadTemplate`, `ClearSelection`, and `ClearFilter` are never constructed [INFO] [stdout] --> src/service/text_template.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub enum TextTemplateAction { [INFO] [stdout] | ------------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | LoadTemplate(Uuid), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | ClearSelection, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 48 | ClearFilter, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextTemplateAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_custom_report` is never used [INFO] [stdout] --> src/service/text_template.rs:177:14 [INFO] [stdout] | [INFO] [stdout] 177 | pub async fn generate_custom_report(billing_period_id: Uuid, template_id: Uuid) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SaveSalesPerson` is never constructed [INFO] [stdout] --> src/service/user_management.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 252 | pub enum UserManagementAction { [INFO] [stdout] | -------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 259 | SaveSalesPerson, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkingSchedule` is never constructed [INFO] [stdout] --> src/state/employee.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct WorkingSchedule { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/api.rs:237:24 [INFO] [stdout] | [INFO] [stdout] 237 | sales_person.id.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/api.rs:660:24 [INFO] [stdout] | [INFO] [stdout] 660 | work_details.id.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/component/add_extra_days_form.rs:75:52 [INFO] [stdout] | [INFO] [stdout] 75 | ... text: i18n.format_week(&week), [INFO] [stdout] | ^^^^^ help: change this to: `week` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/component/add_extra_hours_form.rs:91:58 [INFO] [stdout] | [INFO] [stdout] 91 | ... let from = time::Date::parse(&*from.read(), &format) [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&from.read()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/component/add_extra_hours_form.rs:93:56 [INFO] [stdout] | [INFO] [stdout] 93 | ... let to = time::Date::parse(&*to.read(), &format) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&to.read()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> src/component/add_extra_hours_form.rs:136:47 [INFO] [stdout] | [INFO] [stdout] 136 | if let Ok(uuid) = Uuid::parse_str(&identifier[7..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/component/add_extra_hours_form.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | if identifier.starts_with("custom_") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 135 ~ if let Some() = identifier.strip_prefix("custom_") { [INFO] [stdout] 136 ~ if let Ok(uuid) = Uuid::parse_str() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> src/component/base_components.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | Select { 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] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/component/booking_log_table.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | / if !props.name_filter.is_empty() { [INFO] [stdout] 49 | | if !b [INFO] [stdout] 50 | | .sales_person_name [INFO] [stdout] 51 | | .to_lowercase() [INFO] [stdout] ... | [INFO] [stdout] 56 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 48 ~ if !props.name_filter.is_empty() [INFO] [stdout] 49 ~ && !b [INFO] [stdout] 50 | .sales_person_name [INFO] [stdout] ... [INFO] [stdout] 54 | return false; [INFO] [stdout] 55 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/component/booking_log_table.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | / if b.deleted.is_some() { [INFO] [stdout] 69 | | return false; [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 67 ~ "active" [INFO] [stdout] 68 ~ if b.deleted.is_some() => { [INFO] [stdout] 69 | return false; [INFO] [stdout] 70 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/component/booking_log_table.rs:73:21 [INFO] [stdout] | [INFO] [stdout] 73 | / if b.deleted.is_none() { [INFO] [stdout] 74 | | return false; [INFO] [stdout] 75 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 72 ~ "deleted" [INFO] [stdout] 73 ~ if b.deleted.is_none() => { [INFO] [stdout] 74 | return false; [INFO] [stdout] 75 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/component/booking_log_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | / if !props.created_by_filter.is_empty() && props.created_by_filter != "all" { [INFO] [stdout] 82 | | if b.created_by.as_ref() != props.created_by_filter { [INFO] [stdout] 83 | | return false; [INFO] [stdout] 84 | | } [INFO] [stdout] 85 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 81 ~ if !props.created_by_filter.is_empty() && props.created_by_filter != "all" [INFO] [stdout] 82 ~ && b.created_by.as_ref() != props.created_by_filter { [INFO] [stdout] 83 | return false; [INFO] [stdout] 84 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/component/dropdown_base.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | if let Err(_) = dropdown_base [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 33 ~ if dropdown_base [INFO] [stdout] 34 + .set_attribute("style", &format!("top: {}px; left: {}px", dropdown.y, x)).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/component/dropdown_base.rs:52:73 [INFO] [stdout] | [INFO] [stdout] 52 | for entry in dropdown.entries.iter().filter(|entry| entry.disabled == false).cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!entry.disabled` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error_store` [INFO] [stdout] --> src/page/user_details.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | let error_store = ERROR_STORE.read(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_store` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_view.rs:519:44 [INFO] [stdout] | [INFO] [stdout] 519 | Button { on_click: props.on_previous_year.clone(), "<" } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_previous_year` [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] --> src/component/employee_view.rs:521:44 [INFO] [stdout] | [INFO] [stdout] 521 | Button { on_click: props.on_next_year.clone(), ">" } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_next_year` [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] --> src/component/employee_view.rs:663:88 [INFO] [stdout] | [INFO] [stdout] 663 | ... if let Some(on_delete_employee_work_details_clicked) = props [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 664 | | ... .on_delete_employee_work_details_clicked [INFO] [stdout] 665 | | ... .clone() [INFO] [stdout] | |__________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try removing the `clone` call [INFO] [stdout] | [INFO] [stdout] 663 ~ if let Some(on_delete_employee_work_details_clicked) = props [INFO] [stdout] 664 + .on_delete_employee_work_details_clicked [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Date` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_work_details_form.rs:72:32 [INFO] [stdout] | [INFO] [stdout] 72 | value: employee_work_details.from.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `employee_work_details.from` [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: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:79:44 [INFO] [stdout] | [INFO] [stdout] 79 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `time::Date` [INFO] [stdout] --> src/component/employee_work_details_form.rs:82:62 [INFO] [stdout] | [INFO] [stdout] 82 | ... employee_work_details.from = date.into(); [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Date` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_work_details_form.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | value: employee_work_details.to.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `employee_work_details.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: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:101:44 [INFO] [stdout] | [INFO] [stdout] 101 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `time::Date` [INFO] [stdout] --> src/component/employee_work_details_form.rs:104:60 [INFO] [stdout] | [INFO] [stdout] 104 | ... employee_work_details.to = date.into(); [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:121:40 [INFO] [stdout] | [INFO] [stdout] 121 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:138:40 [INFO] [stdout] | [INFO] [stdout] 138 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:155:40 [INFO] [stdout] | [INFO] [stdout] 155 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:172:40 [INFO] [stdout] | [INFO] [stdout] 172 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:189:40 [INFO] [stdout] | [INFO] [stdout] 189 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:206:40 [INFO] [stdout] | [INFO] [stdout] 206 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:223:40 [INFO] [stdout] | [INFO] [stdout] 223 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:244:40 [INFO] [stdout] | [INFO] [stdout] 244 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:263:40 [INFO] [stdout] | [INFO] [stdout] 263 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:283:44 [INFO] [stdout] | [INFO] [stdout] 283 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:303:40 [INFO] [stdout] | [INFO] [stdout] 303 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_work_details_form.rs:389:24 [INFO] [stdout] | [INFO] [stdout] 389 | on_cancel: props.on_cancel.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_cancel` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/component/slot_edit.rs:63:54 [INFO] [stdout] | [INFO] [stdout] 63 | .map(|valid_to| ImStr::from(i18n.format_date(&valid_to))) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `valid_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | FormPair { label: weekday_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `weekday_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | FormPair { label: from_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `from_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:131:39 [INFO] [stdout] | [INFO] [stdout] 131 | FormPair { label: to_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `to_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:145:39 [INFO] [stdout] | [INFO] [stdout] 145 | FormPair { label: min_persons_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `min_persons_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/component/tooltip.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | if let Err(_) = tooltip_base [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 31 ~ if tooltip_base [INFO] [stdout] 32 + .set_attribute("style", &format!("top: {}px; left: {}px", tooltip.y, x)).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/component/week_view.rs:113:73 [INFO] [stdout] | [INFO] [stdout] 113 | ... let mut items: Vec = items [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 114 | | ... .iter() [INFO] [stdout] 115 | | ... .map(|item| item.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 113 ~ let mut items: Vec = items [INFO] [stdout] 114 + .iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:117:48 [INFO] [stdout] | [INFO] [stdout] 117 | ... let item_clicked = props.item_clicked.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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: useless conversion to the same type: `component::week_view::ColumnViewContent` [INFO] [stdout] --> src/component/week_view.rs:440:28 [INFO] [stdout] | [INFO] [stdout] 440 | title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone()) [INFO] [stdout] | ____________________________^ [INFO] [stdout] 441 | | .into(), [INFO] [stdout] | |_______________________________^ help: consider removing `.into()`: `ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:450:33 [INFO] [stdout] | [INFO] [stdout] 450 | double_clicked: props.title_double_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.title_double_clicked` [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] --> src/component/week_view.rs:473:35 [INFO] [stdout] | [INFO] [stdout] 473 | item_clicked: props.item_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/component/week_view.rs:550:21 [INFO] [stdout] | [INFO] [stdout] 550 | height: (props.day_end - props.day_start) as f32 * SCALING + SCALING / 2.0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((props.day_end - props.day_start))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:570:24 [INFO] [stdout] | [INFO] [stdout] 570 | add_event: props.add_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.add_event` [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] --> src/component/week_view.rs:571:27 [INFO] [stdout] | [INFO] [stdout] 571 | remove_event: props.remove_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.remove_event` [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] --> src/component/week_view.rs:572:27 [INFO] [stdout] | [INFO] [stdout] 572 | item_clicked: props.item_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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 `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:575:47 [INFO] [stdout] | [INFO] [stdout] 575 | title_double_clicked.call(props.weekday.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.weekday` [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: function `get_slots` is never used [INFO] [stdout] --> src/api.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | pub async fn get_slots( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bookings_for_week` is never used [INFO] [stdout] --> src/api.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | pub async fn get_bookings_for_week( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_special_days_for_week` is never used [INFO] [stdout] --> src/api.rs:615:14 [INFO] [stdout] | [INFO] [stdout] 615 | pub async fn get_special_days_for_week( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_bookings` is never used [INFO] [stdout] --> src/loader.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | pub async fn load_bookings( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_slots` is never used [INFO] [stdout] --> src/loader.rs:90:14 [INFO] [stdout] | [INFO] [stdout] 90 | pub async fn load_slots( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `LoadBillingPeriod` is never constructed [INFO] [stdout] --> src/page/billing_period_details.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum BillingPeriodDetailsAction { [INFO] [stdout] | -------------------------- variant in this enum [INFO] [stdout] 18 | LoadBillingPeriod, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CopyFromPreviousWeek` and `LoadWeekMessage` are never constructed [INFO] [stdout] --> src/page/shiftplan.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum ShiftPlanAction { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 53 | CopyFromPreviousWeek, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | LoadWeekMessage, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ClearSelection` is never constructed [INFO] [stdout] --> src/service/billing_period.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum BillingPeriodAction { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | ClearSelection, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BillingPeriodAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `LoadTemplate`, `ClearSelection`, and `ClearFilter` are never constructed [INFO] [stdout] --> src/service/text_template.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub enum TextTemplateAction { [INFO] [stdout] | ------------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | LoadTemplate(Uuid), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | ClearSelection, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 48 | ClearFilter, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextTemplateAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_custom_report` is never used [INFO] [stdout] --> src/service/text_template.rs:177:14 [INFO] [stdout] | [INFO] [stdout] 177 | pub async fn generate_custom_report(billing_period_id: Uuid, template_id: Uuid) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SaveSalesPerson` is never constructed [INFO] [stdout] --> src/service/user_management.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 252 | pub enum UserManagementAction { [INFO] [stdout] | -------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 259 | SaveSalesPerson, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkingSchedule` is never constructed [INFO] [stdout] --> src/state/employee.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct WorkingSchedule { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/component/week_view.rs:676:28 [INFO] [stdout] | [INFO] [stdout] 676 | if !(*weekday == Weekday::Sunday && !has_sunday) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `*weekday != Weekday::Sunday || has_sunday` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:678:42 [INFO] [stdout] | [INFO] [stdout] 678 | ... weekday: weekday.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*weekday` [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 `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:679:99 [INFO] [stdout] | [INFO] [stdout] 679 | ... date: props.date_of_monday.map(|date| date + time::Duration::days(weekday.clone() as i64)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*weekday` [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 `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:680:78 [INFO] [stdout] | [INFO] [stdout] 680 | ... slots: props.shiftplan_data.slots_by_weekday(weekday.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*weekday` [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] --> src/component/week_view.rs:684:44 [INFO] [stdout] | [INFO] [stdout] 684 | ... add_event: props.add_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.add_event` [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] --> src/component/week_view.rs:685:47 [INFO] [stdout] | [INFO] [stdout] 685 | ... remove_event: props.remove_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.remove_event` [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] --> src/component/week_view.rs:686:47 [INFO] [stdout] | [INFO] [stdout] 686 | ... item_clicked: props.item_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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] --> src/component/week_view.rs:687:55 [INFO] [stdout] | [INFO] [stdout] 687 | ... title_double_clicked: props.title_double_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.title_double_clicked` [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: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/component/week_view.rs:637:44 [INFO] [stdout] | [INFO] [stdout] 637 | style: format!("height: {}px", (day_end - day_start) as f32 * SCALING + SCALING), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((day_end - day_start))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Uuid` which implements the `Copy` trait [INFO] [stdout] --> src/component/working_hours_mini_overview.rs:27:43 [INFO] [stdout] | [INFO] [stdout] 27 | let sales_person_id = working_hour.sales_person_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `working_hour.sales_person_id` [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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/api.rs:237:24 [INFO] [stdout] | [INFO] [stdout] 237 | sales_person.id.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/i18n/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub mod i18n; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/js.rs:84:18 [INFO] [stdout] | [INFO] [stdout] 84 | .map_err(|e| JsValue::from(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `JsValue::from` [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: useless conversion to the same type: `wasm_bindgen::JsValue` [INFO] [stdout] --> src/js.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | .map_err(|e| JsValue::from(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider removing `JsValue::from()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/js.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | .map_err(|e| JsValue::from(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `JsValue::from` [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: useless conversion to the same type: `wasm_bindgen::JsValue` [INFO] [stdout] --> src/js.rs:99:22 [INFO] [stdout] | [INFO] [stdout] 99 | .map_err(|e| JsValue::from(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider removing `JsValue::from()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/loader.rs:111:23 [INFO] [stdout] | [INFO] [stdout] 111 | bookings: bookings [INFO] [stdout] | _______________________^ [INFO] [stdout] 112 | | .iter() [INFO] [stdout] 113 | | .filter(|booking| booking.slot_id == slot.id) [INFO] [stdout] 114 | | .map(|booking| booking.clone()) [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 111 ~ bookings: bookings [INFO] [stdout] 112 + .iter() [INFO] [stdout] 113 + .filter(|booking| booking.slot_id == slot.id).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PrimitiveDateTime` which implements the `Copy` trait [INFO] [stdout] --> src/loader.rs:259:43 [INFO] [stdout] | [INFO] [stdout] 259 | extra_hours.sort_by_key(|extra_hours| extra_hours.date_time.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `extra_hours.date_time` [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] --> src/loader.rs:409:14 [INFO] [stdout] | [INFO] [stdout] 409 | .map(|booking_conflict_to| BookingConflict::from(booking_conflict_to)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `BookingConflict::from` [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] --> src/loader.rs:421:14 [INFO] [stdout] | [INFO] [stdout] 421 | .map(|booking_log_to| BookingLog::from(booking_log_to)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `BookingLog::from` [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] --> src/page/billing_period_details.rs:49:38 [INFO] [stdout] | [INFO] [stdout] 49 | let mut filter_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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/api.rs:660:24 [INFO] [stdout] | [INFO] [stdout] 660 | work_details.id.to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: all variants have the same postfix: `CustomExtraHours` [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / pub enum CustomExtraHoursManagementAction { [INFO] [stdout] 18 | | LoadCustomExtraHours, [INFO] [stdout] 19 | | CreateCustomExtraHours { [INFO] [stdout] 20 | | name: String, [INFO] [stdout] ... | [INFO] [stdout] 32 | | DeleteCustomExtraHours(Uuid), [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | / ... if let Some(sales_person) = current_sales_person { [INFO] [stdout] 69 | | ... match api::get_custom_extra_hours_by_sales_person(config.clone(), sales_person.id).await { [INFO] [stdout] 70 | | ... Ok(hours) => { [INFO] [stdout] 71 | | ... let definitions: Rc<[CustomExtraHoursDefinition]> = hours [INFO] [stdout] ... | [INFO] [stdout] 81 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:67:35 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(current_sales_person) = api::get_current_sales_person(config.clone()).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ replace this binding [INFO] [stdout] 68 | if let Some(sales_person) = current_sales_person { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:102:55 [INFO] [stdout] | [INFO] [stdout] 102 | result_handler(result.map_err(|e| crate::error::ShiftyError::from(e))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `crate::error::ShiftyError::from` [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] --> src/page/custom_extra_hours_management.rs:124:55 [INFO] [stdout] | [INFO] [stdout] 124 | result_handler(result.map_err(|e| crate::error::ShiftyError::from(e))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `crate::error::ShiftyError::from` [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] --> src/page/custom_extra_hours_management.rs:129:55 [INFO] [stdout] | [INFO] [stdout] 129 | result_handler(result.map_err(|e| crate::error::ShiftyError::from(e))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `crate::error::ShiftyError::from` [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] --> src/page/employees.rs:30:27 [INFO] [stdout] | [INFO] [stdout] 30 | let year = use_signal(|| js::get_current_year()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_year` [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: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/page/sales_person_details.rs:91:47 [INFO] [stdout] | [INFO] [stdout] 91 | ... FormPair { label: i18n.t(Key::Name).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `i18n.t(Key::Name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/page/sales_person_details.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | ... FormPair { label: i18n.t(Key::ShiftplanColor).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `i18n.t(Key::ShiftplanColor)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/component/add_extra_days_form.rs:75:52 [INFO] [stdout] | [INFO] [stdout] 75 | ... text: i18n.format_week(&week), [INFO] [stdout] | ^^^^^ help: change this to: `week` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/page/sales_person_details.rs:181:47 [INFO] [stdout] | [INFO] [stdout] 181 | ... FormPair { label: i18n.t(Key::UserAccount).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `i18n.t(Key::UserAccount)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/page/sales_person_details.rs:199:56 [INFO] [stdout] | [INFO] [stdout] 199 | ... value: user_id.clone().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `user_id.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/shiftplan.rs:98:56 [INFO] [stdout] | [INFO] [stdout] 98 | let week = use_signal(|| props.week.unwrap_or_else(|| js::get_current_week())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_week` [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] --> src/page/shiftplan.rs:99:56 [INFO] [stdout] | [INFO] [stdout] 99 | let year = use_signal(|| props.year.unwrap_or_else(|| js::get_current_year())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_year` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/page/shiftplan.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | ("year", &year.read().to_string().as_str()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `year.read().to_string().as_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/shiftplan.rs:143:35 [INFO] [stdout] | [INFO] [stdout] 143 | let week_message = 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] --> src/page/shiftplan.rs:144:45 [INFO] [stdout] | [INFO] [stdout] 144 | let mut week_message_draft = 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] --> src/page/shiftplan.rs:154:50 [INFO] [stdout] | [INFO] [stdout] 154 | let mut booking_log_name_filter = 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: length comparison to zero [INFO] [stdout] --> src/page/shiftplan.rs:642:83 [INFO] [stdout] | [INFO] [stdout] 642 | ... weekday_headers: if weekly_summary.data_loaded && weekly_summary.weekly_summary.len() > 0 { vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!weekly_summary.weekly_summary.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Uuid` which implements the `Copy` trait [INFO] [stdout] --> src/page/shiftplan.rs:776:84 [INFO] [stdout] | [INFO] [stdout] 776 | ... cr.send(ShiftPlanAction::UpdateSalesPerson(employee_id.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `employee_id` [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: deref which would be done by auto-deref [INFO] [stdout] --> src/component/add_extra_hours_form.rs:91:58 [INFO] [stdout] | [INFO] [stdout] 91 | ... let from = time::Date::parse(&*from.read(), &format) [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&from.read()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/component/add_extra_hours_form.rs:93:56 [INFO] [stdout] | [INFO] [stdout] 93 | ... let to = time::Date::parse(&*to.read(), &format) [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&to.read()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: stripping a prefix manually [INFO] [stdout] --> src/component/add_extra_hours_form.rs:136:47 [INFO] [stdout] | [INFO] [stdout] 136 | if let Ok(uuid) = Uuid::parse_str(&identifier[7..]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the prefix was tested here [INFO] [stdout] --> src/component/add_extra_hours_form.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | if identifier.starts_with("custom_") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_strip [INFO] [stdout] = note: `#[warn(clippy::manual_strip)]` on by default [INFO] [stdout] help: try using the `strip_prefix` method [INFO] [stdout] | [INFO] [stdout] 135 ~ if let Some() = identifier.strip_prefix("custom_") { [INFO] [stdout] 136 ~ if let Ok(uuid) = Uuid::parse_str() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/page/user_details.rs:113:69 [INFO] [stdout] | [INFO] [stdout] 113 | ... role_assignment.role.clone().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `role_assignment.role.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/page/user_details.rs:121:69 [INFO] [stdout] | [INFO] [stdout] 121 | ... role_assignment.role.clone().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `role_assignment.role.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> src/component/base_components.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | Select { 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] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/page/user_details.rs:216:72 [INFO] [stdout] | [INFO] [stdout] 216 | ... if let Ok(_) = crate::js::copy_to_clipboard(&link).await { [INFO] [stdout] | -------^^^^^-------------------------------------------- help: try: `if crate::js::copy_to_clipboard(&link).await.is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/weekly_overview.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | let year = use_signal(|| js::get_current_year()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_year` [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 `if` statement can be collapsed [INFO] [stdout] --> src/component/booking_log_table.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | / if !props.name_filter.is_empty() { [INFO] [stdout] 49 | | if !b [INFO] [stdout] 50 | | .sales_person_name [INFO] [stdout] 51 | | .to_lowercase() [INFO] [stdout] ... | [INFO] [stdout] 56 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 48 ~ if !props.name_filter.is_empty() [INFO] [stdout] 49 ~ && !b [INFO] [stdout] 50 | .sales_person_name [INFO] [stdout] ... [INFO] [stdout] 54 | return false; [INFO] [stdout] 55 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/component/booking_log_table.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | / if b.deleted.is_some() { [INFO] [stdout] 69 | | return false; [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 67 ~ "active" [INFO] [stdout] 68 ~ if b.deleted.is_some() => { [INFO] [stdout] 69 | return false; [INFO] [stdout] 70 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/component/booking_log_table.rs:73:21 [INFO] [stdout] | [INFO] [stdout] 73 | / if b.deleted.is_none() { [INFO] [stdout] 74 | | return false; [INFO] [stdout] 75 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 72 ~ "deleted" [INFO] [stdout] 73 ~ if b.deleted.is_none() => { [INFO] [stdout] 74 | return false; [INFO] [stdout] 75 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/component/booking_log_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | / if !props.created_by_filter.is_empty() && props.created_by_filter != "all" { [INFO] [stdout] 82 | | if b.created_by.as_ref() != props.created_by_filter { [INFO] [stdout] 83 | | return false; [INFO] [stdout] 84 | | } [INFO] [stdout] 85 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 81 ~ if !props.created_by_filter.is_empty() && props.created_by_filter != "all" [INFO] [stdout] 82 ~ && b.created_by.as_ref() != props.created_by_filter { [INFO] [stdout] 83 | return false; [INFO] [stdout] 84 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/component/dropdown_base.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | if let Err(_) = dropdown_base [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 33 ~ if dropdown_base [INFO] [stdout] 34 + .set_attribute("style", &format!("top: {}px; left: {}px", dropdown.y, x)).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/component/dropdown_base.rs:52:73 [INFO] [stdout] | [INFO] [stdout] 52 | for entry in dropdown.entries.iter().filter(|entry| entry.disabled == false).cloned() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!entry.disabled` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/auth.rs:46:59 [INFO] [stdout] | [INFO] [stdout] 46 | pub static AUTH: GlobalSignal = Signal::global(|| AuthStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `AuthStore::default` [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] --> src/service/billing_period.rs:35:84 [INFO] [stdout] | [INFO] [stdout] 35 | pub static BILLING_PERIOD_STORE: GlobalSignal = Signal::global(|| BillingPeriodStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `BillingPeriodStore::default` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/billing_period.rs:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/booking_conflict.rs:37:33 [INFO] [stdout] | [INFO] [stdout] 37 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/booking_log.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | ... error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/config.rs:29:58 [INFO] [stdout] | [INFO] [stdout] 29 | pub static CONFIG: GlobalSignal = Signal::global(|| Config::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Config::default` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/employee.rs:193:33 [INFO] [stdout] | [INFO] [stdout] 193 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/employee_work_details.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | Signal::global(|| EmployeeWorkDetailsStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `EmployeeWorkDetailsStore::default` [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: deref which would be done by auto-deref [INFO] [stdout] --> src/service/employee_work_details.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | (*EMPLOYEE_WORK_DETAILS_STORE.write()).selected_employee_work_details = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `EMPLOYEE_WORK_DETAILS_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/employee_work_details.rs:160:33 [INFO] [stdout] | [INFO] [stdout] 160 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/error.rs:11:67 [INFO] [stdout] | [INFO] [stdout] 11 | pub static ERROR_STORE: GlobalSignal = Signal::global(|| ErrorStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ErrorStore::default` [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] --> src/service/slot_edit.rs:17:69 [INFO] [stdout] | [INFO] [stdout] 17 | pub static SLOT_EDIT_STORE: GlobalSignal = Signal::global(|| SlotEdit::new_edit()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `SlotEdit::new_edit` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/slot_edit.rs:103:33 [INFO] [stdout] | [INFO] [stdout] 103 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/text_template.rs:37:82 [INFO] [stdout] | [INFO] [stdout] 37 | pub static TEXT_TEMPLATE_STORE: GlobalSignal = Signal::global(|| TextTemplateStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `TextTemplateStore::default` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/text_template.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | error: Some(error.into()), [INFO] [stdout] | ^^^^^^^^^^^^ help: consider removing `.into()`: `error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/user_management.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | Signal::global(|| UserManagementStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `UserManagementStore::default` [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: useless conversion to the same type: `std::rc::Rc<[state::user_management::User]>` [INFO] [stdout] --> src/service/user_management.rs:57:51 [INFO] [stdout] | [INFO] [stdout] 57 | USER_MANAGEMENT_STORE.write().users = users.into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider removing `.into()`: `users` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 61 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc<[state::shiftplan::SalesPerson]>` [INFO] [stdout] --> src/service/user_management.rs:71:59 [INFO] [stdout] | [INFO] [stdout] 71 | USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `sales_persons` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:75:29 [INFO] [stdout] | [INFO] [stdout] 75 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:117:29 [INFO] [stdout] | [INFO] [stdout] 117 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/service/user_management.rs:141:21 [INFO] [stdout] | [INFO] [stdout] 141 | / if new_user_id != old_user_id { [INFO] [stdout] 142 | | loader::save_user_for_sales_person( [INFO] [stdout] 143 | | CONFIG.read().clone(), [INFO] [stdout] 144 | | selected_sales_person.sales_person.id, [INFO] [stdout] ... | [INFO] [stdout] 147 | | .await?; [INFO] [stdout] 148 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 140 ~ (Some(new_user_id), Some(old_user_id)) [INFO] [stdout] 141 ~ if new_user_id != old_user_id => { [INFO] [stdout] 142 | loader::save_user_for_sales_person( [INFO] [stdout] ... [INFO] [stdout] 147 | .await?; [INFO] [stdout] 148 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/service/user_management.rs:180:43 [INFO] [stdout] | [INFO] [stdout] 180 | assigned: user_roles.contains(&role), [INFO] [stdout] | ^^^^^ help: change this to: `role` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:225:29 [INFO] [stdout] | [INFO] [stdout] 225 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:409:33 [INFO] [stdout] | [INFO] [stdout] 409 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | (*WEEKLY_SUMMARY_STORE.write()).weekly_summary = weekly_summary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | (*WEEKLY_SUMMARY_STORE.write()).weekly_summary = Rc::new([weekly_summary]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/weekly_summary.rs:54:33 [INFO] [stdout] | [INFO] [stdout] 54 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/working_hours_mini.rs:32:41 [INFO] [stdout] | [INFO] [stdout] 32 | ... error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/state/dropdown.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | text: ImStr::from(triple.0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ImStr::from()`: `triple.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_view.rs:519:44 [INFO] [stdout] | [INFO] [stdout] 519 | Button { on_click: props.on_previous_year.clone(), "<" } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_previous_year` [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] --> src/component/employee_view.rs:521:44 [INFO] [stdout] | [INFO] [stdout] 521 | Button { on_click: props.on_next_year.clone(), ">" } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_next_year` [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: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/state/employee_work_details.rs:71:34 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn from_as_calendar_week(&self) -> (u32, u8, time::Weekday) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/state/sales_person_available.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | week: sales_person_available.calendar_week as u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `sales_person_available.calendar_week` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/state/shiftplan.rs:174:22 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn from_hour(&self) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/tests/week_tests.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / mod week_tests { [INFO] [stdout] 3 | | use crate::state::week::Week; [INFO] [stdout] 4 | | use time::{Month, Weekday}; [INFO] [stdout] ... | [INFO] [stdout] 128 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> src/tests/error_tests.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | assert!(true); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> src/tests/error_tests.rs:38:25 [INFO] [stdout] | [INFO] [stdout] 38 | assert!(true); // Test passes [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> src/tests/error_tests.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | assert!(true); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/tests/integration_tests.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / mod integration_tests { [INFO] [stdout] 3 | | use crate::state::{AuthInfo, Config}; [INFO] [stdout] 4 | | use crate::state::week::Week; [INFO] [stdout] 5 | | use crate::state::text_template::{TextTemplate, TemplateEngine}; [INFO] [stdout] ... | [INFO] [stdout] 298 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_view.rs:663:88 [INFO] [stdout] | [INFO] [stdout] 663 | ... if let Some(on_delete_employee_work_details_clicked) = props [INFO] [stdout] | ______________________________________________________________________________^ [INFO] [stdout] 664 | | ... .on_delete_employee_work_details_clicked [INFO] [stdout] 665 | | ... .clone() [INFO] [stdout] | |__________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] help: try removing the `clone` call [INFO] [stdout] | [INFO] [stdout] 663 ~ if let Some(on_delete_employee_work_details_clicked) = props [INFO] [stdout] 664 + .on_delete_employee_work_details_clicked [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/tests/mod.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | assert!(current_year >= 2024 && current_year <= 2100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(2024..=2100).contains(¤t_year)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/tests/mod.rs:382:17 [INFO] [stdout] | [INFO] [stdout] 382 | assert!(current_week >= 1 && current_week <= 53); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(1..=53).contains(¤t_week)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/tests/mod.rs:74:23 [INFO] [stdout] | [INFO] [stdout] 74 | let locales = vec![Locale::En, Locale::De, Locale::Cs]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[Locale::En, Locale::De, Locale::Cs]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Date` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_work_details_form.rs:72:32 [INFO] [stdout] | [INFO] [stdout] 72 | value: employee_work_details.from.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `employee_work_details.from` [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: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:79:44 [INFO] [stdout] | [INFO] [stdout] 79 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `time::Date` [INFO] [stdout] --> src/component/employee_work_details_form.rs:82:62 [INFO] [stdout] | [INFO] [stdout] 82 | ... employee_work_details.from = date.into(); [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Date` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_work_details_form.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | value: employee_work_details.to.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `employee_work_details.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: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:101:44 [INFO] [stdout] | [INFO] [stdout] 101 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `time::Date` [INFO] [stdout] --> src/component/employee_work_details_form.rs:104:60 [INFO] [stdout] | [INFO] [stdout] 104 | ... employee_work_details.to = date.into(); [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `date` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:121:40 [INFO] [stdout] | [INFO] [stdout] 121 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:138:40 [INFO] [stdout] | [INFO] [stdout] 138 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:155:40 [INFO] [stdout] | [INFO] [stdout] 155 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:172:40 [INFO] [stdout] | [INFO] [stdout] 172 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:189:40 [INFO] [stdout] | [INFO] [stdout] 189 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:206:40 [INFO] [stdout] | [INFO] [stdout] 206 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:223:40 [INFO] [stdout] | [INFO] [stdout] 223 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:244:40 [INFO] [stdout] | [INFO] [stdout] 244 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:263:40 [INFO] [stdout] | [INFO] [stdout] 263 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:283:44 [INFO] [stdout] | [INFO] [stdout] 283 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/component/employee_work_details_form.rs:303:40 [INFO] [stdout] | [INFO] [stdout] 303 | ... return (); [INFO] [stdout] | ^^ help: remove the `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Callback` which implements the `Copy` trait [INFO] [stdout] --> src/component/employee_work_details_form.rs:389:24 [INFO] [stdout] | [INFO] [stdout] 389 | on_cancel: props.on_cancel.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.on_cancel` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/component/slot_edit.rs:63:54 [INFO] [stdout] | [INFO] [stdout] 63 | .map(|valid_to| ImStr::from(i18n.format_date(&valid_to))) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `valid_to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | FormPair { label: weekday_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `weekday_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | FormPair { label: from_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `from_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:131:39 [INFO] [stdout] | [INFO] [stdout] 131 | FormPair { label: to_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `to_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/component/slot_edit.rs:145:39 [INFO] [stdout] | [INFO] [stdout] 145 | FormPair { label: min_persons_label.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `min_persons_label` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> src/component/tooltip.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | if let Err(_) = tooltip_base [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 31 ~ if tooltip_base [INFO] [stdout] 32 + .set_attribute("style", &format!("top: {}px; left: {}px", tooltip.y, x)).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/component/week_view.rs:113:73 [INFO] [stdout] | [INFO] [stdout] 113 | ... let mut items: Vec = items [INFO] [stdout] | ___________________________________________________________________^ [INFO] [stdout] 114 | | ... .iter() [INFO] [stdout] 115 | | ... .map(|item| item.clone()) [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 113 ~ let mut items: Vec = items [INFO] [stdout] 114 + .iter().cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:117:48 [INFO] [stdout] | [INFO] [stdout] 117 | ... let item_clicked = props.item_clicked.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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: useless conversion to the same type: `component::week_view::ColumnViewContent` [INFO] [stdout] --> src/component/week_view.rs:440:28 [INFO] [stdout] | [INFO] [stdout] 440 | title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone()) [INFO] [stdout] | ____________________________^ [INFO] [stdout] 441 | | .into(), [INFO] [stdout] | |_______________________________^ help: consider removing `.into()`: `ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:450:33 [INFO] [stdout] | [INFO] [stdout] 450 | double_clicked: props.title_double_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.title_double_clicked` [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] --> src/component/week_view.rs:473:35 [INFO] [stdout] | [INFO] [stdout] 473 | item_clicked: props.item_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/component/week_view.rs:550:21 [INFO] [stdout] | [INFO] [stdout] 550 | height: (props.day_end - props.day_start) as f32 * SCALING + SCALING / 2.0, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((props.day_end - props.day_start))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:570:24 [INFO] [stdout] | [INFO] [stdout] 570 | add_event: props.add_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.add_event` [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] --> src/component/week_view.rs:571:27 [INFO] [stdout] | [INFO] [stdout] 571 | remove_event: props.remove_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.remove_event` [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] --> src/component/week_view.rs:572:27 [INFO] [stdout] | [INFO] [stdout] 572 | item_clicked: props.item_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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 `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:575:47 [INFO] [stdout] | [INFO] [stdout] 575 | title_double_clicked.call(props.weekday.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.weekday` [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 boolean expression can be simplified [INFO] [stdout] --> src/component/week_view.rs:676:28 [INFO] [stdout] | [INFO] [stdout] 676 | if !(*weekday == Weekday::Sunday && !has_sunday) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `*weekday != Weekday::Sunday || has_sunday` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:678:42 [INFO] [stdout] | [INFO] [stdout] 678 | ... weekday: weekday.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*weekday` [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 `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:679:99 [INFO] [stdout] | [INFO] [stdout] 679 | ... date: props.date_of_monday.map(|date| date + time::Duration::days(weekday.clone() as i64)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*weekday` [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 `Weekday` which implements the `Copy` trait [INFO] [stdout] --> src/component/week_view.rs:680:78 [INFO] [stdout] | [INFO] [stdout] 680 | ... slots: props.shiftplan_data.slots_by_weekday(weekday.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*weekday` [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] --> src/component/week_view.rs:684:44 [INFO] [stdout] | [INFO] [stdout] 684 | ... add_event: props.add_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.add_event` [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] --> src/component/week_view.rs:685:47 [INFO] [stdout] | [INFO] [stdout] 685 | ... remove_event: props.remove_event.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.remove_event` [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] --> src/component/week_view.rs:686:47 [INFO] [stdout] | [INFO] [stdout] 686 | ... item_clicked: props.item_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.item_clicked` [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] --> src/component/week_view.rs:687:55 [INFO] [stdout] | [INFO] [stdout] 687 | ... title_double_clicked: props.title_double_clicked.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `props.title_double_clicked` [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: casting to the same type is unnecessary (`f32` -> `f32`) [INFO] [stdout] --> src/component/week_view.rs:637:44 [INFO] [stdout] | [INFO] [stdout] 637 | style: format!("height: {}px", (day_end - day_start) as f32 * SCALING + SCALING), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((day_end - day_start))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Uuid` which implements the `Copy` trait [INFO] [stdout] --> src/component/working_hours_mini_overview.rs:27:43 [INFO] [stdout] | [INFO] [stdout] 27 | let sales_person_id = working_hour.sales_person_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `working_hour.sales_person_id` [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: module has the same name as its containing module [INFO] [stdout] --> src/i18n/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub mod i18n; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/js.rs:84:18 [INFO] [stdout] | [INFO] [stdout] 84 | .map_err(|e| JsValue::from(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `JsValue::from` [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: useless conversion to the same type: `wasm_bindgen::JsValue` [INFO] [stdout] --> src/js.rs:84:22 [INFO] [stdout] | [INFO] [stdout] 84 | .map_err(|e| JsValue::from(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider removing `JsValue::from()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/js.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | .map_err(|e| JsValue::from(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `JsValue::from` [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: useless conversion to the same type: `wasm_bindgen::JsValue` [INFO] [stdout] --> src/js.rs:99:22 [INFO] [stdout] | [INFO] [stdout] 99 | .map_err(|e| JsValue::from(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider removing `JsValue::from()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/loader.rs:111:23 [INFO] [stdout] | [INFO] [stdout] 111 | bookings: bookings [INFO] [stdout] | _______________________^ [INFO] [stdout] 112 | | .iter() [INFO] [stdout] 113 | | .filter(|booking| booking.slot_id == slot.id) [INFO] [stdout] 114 | | .map(|booking| booking.clone()) [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] help: consider calling the dedicated `cloned` method [INFO] [stdout] | [INFO] [stdout] 111 ~ bookings: bookings [INFO] [stdout] 112 + .iter() [INFO] [stdout] 113 + .filter(|booking| booking.slot_id == slot.id).cloned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PrimitiveDateTime` which implements the `Copy` trait [INFO] [stdout] --> src/loader.rs:259:43 [INFO] [stdout] | [INFO] [stdout] 259 | extra_hours.sort_by_key(|extra_hours| extra_hours.date_time.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `extra_hours.date_time` [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] --> src/loader.rs:409:14 [INFO] [stdout] | [INFO] [stdout] 409 | .map(|booking_conflict_to| BookingConflict::from(booking_conflict_to)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `BookingConflict::from` [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] --> src/loader.rs:421:14 [INFO] [stdout] | [INFO] [stdout] 421 | .map(|booking_log_to| BookingLog::from(booking_log_to)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `BookingLog::from` [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] --> src/page/billing_period_details.rs:49:38 [INFO] [stdout] | [INFO] [stdout] 49 | let mut filter_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: all variants have the same postfix: `CustomExtraHours` [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / pub enum CustomExtraHoursManagementAction { [INFO] [stdout] 18 | | LoadCustomExtraHours, [INFO] [stdout] 19 | | CreateCustomExtraHours { [INFO] [stdout] 20 | | name: String, [INFO] [stdout] ... | [INFO] [stdout] 32 | | DeleteCustomExtraHours(Uuid), [INFO] [stdout] 33 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if let` can be collapsed into the outer `if let` [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:68:29 [INFO] [stdout] | [INFO] [stdout] 68 | / ... if let Some(sales_person) = current_sales_person { [INFO] [stdout] 69 | | ... match api::get_custom_extra_hours_by_sales_person(config.clone(), sales_person.id).await { [INFO] [stdout] 70 | | ... Ok(hours) => { [INFO] [stdout] 71 | | ... let definitions: Rc<[CustomExtraHoursDefinition]> = hours [INFO] [stdout] ... | [INFO] [stdout] 81 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] help: the outer pattern can be modified to include the inner pattern [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:67:35 [INFO] [stdout] | [INFO] [stdout] 67 | if let Ok(current_sales_person) = api::get_current_sales_person(config.clone()).await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ replace this binding [INFO] [stdout] 68 | if let Some(sales_person) = current_sales_person { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ with this pattern [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/custom_extra_hours_management.rs:102:55 [INFO] [stdout] | [INFO] [stdout] 102 | result_handler(result.map_err(|e| crate::error::ShiftyError::from(e))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `crate::error::ShiftyError::from` [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] --> src/page/custom_extra_hours_management.rs:124:55 [INFO] [stdout] | [INFO] [stdout] 124 | result_handler(result.map_err(|e| crate::error::ShiftyError::from(e))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `crate::error::ShiftyError::from` [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] --> src/page/custom_extra_hours_management.rs:129:55 [INFO] [stdout] | [INFO] [stdout] 129 | result_handler(result.map_err(|e| crate::error::ShiftyError::from(e))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `crate::error::ShiftyError::from` [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] --> src/page/employees.rs:30:27 [INFO] [stdout] | [INFO] [stdout] 30 | let year = use_signal(|| js::get_current_year()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_year` [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: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/page/sales_person_details.rs:91:47 [INFO] [stdout] | [INFO] [stdout] 91 | ... FormPair { label: i18n.t(Key::Name).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `i18n.t(Key::Name)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/page/sales_person_details.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | ... FormPair { label: i18n.t(Key::ShiftplanColor).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `i18n.t(Key::ShiftplanColor)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc` [INFO] [stdout] --> src/page/sales_person_details.rs:181:47 [INFO] [stdout] | [INFO] [stdout] 181 | ... FormPair { label: i18n.t(Key::UserAccount).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `i18n.t(Key::UserAccount)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/page/sales_person_details.rs:199:56 [INFO] [stdout] | [INFO] [stdout] 199 | ... value: user_id.clone().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `user_id.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/shiftplan.rs:98:56 [INFO] [stdout] | [INFO] [stdout] 98 | let week = use_signal(|| props.week.unwrap_or_else(|| js::get_current_week())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_week` [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] --> src/page/shiftplan.rs:99:56 [INFO] [stdout] | [INFO] [stdout] 99 | let year = use_signal(|| props.year.unwrap_or_else(|| js::get_current_year())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_year` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/page/shiftplan.rs:112:22 [INFO] [stdout] | [INFO] [stdout] 112 | ("year", &year.read().to_string().as_str()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `year.read().to_string().as_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/shiftplan.rs:143:35 [INFO] [stdout] | [INFO] [stdout] 143 | let week_message = 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] --> src/page/shiftplan.rs:144:45 [INFO] [stdout] | [INFO] [stdout] 144 | let mut week_message_draft = 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] --> src/page/shiftplan.rs:154:50 [INFO] [stdout] | [INFO] [stdout] 154 | let mut booking_log_name_filter = 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: length comparison to zero [INFO] [stdout] --> src/page/shiftplan.rs:642:83 [INFO] [stdout] | [INFO] [stdout] 642 | ... weekday_headers: if weekly_summary.data_loaded && weekly_summary.weekly_summary.len() > 0 { vec![ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!weekly_summary.weekly_summary.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Uuid` which implements the `Copy` trait [INFO] [stdout] --> src/page/shiftplan.rs:776:84 [INFO] [stdout] | [INFO] [stdout] 776 | ... cr.send(ShiftPlanAction::UpdateSalesPerson(employee_id.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `employee_id` [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: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/page/user_details.rs:113:69 [INFO] [stdout] | [INFO] [stdout] 113 | ... role_assignment.role.clone().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `role_assignment.role.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/page/user_details.rs:121:69 [INFO] [stdout] | [INFO] [stdout] 121 | ... role_assignment.role.clone().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `role_assignment.role.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/page/user_details.rs:216:72 [INFO] [stdout] | [INFO] [stdout] 216 | ... if let Ok(_) = crate::js::copy_to_clipboard(&link).await { [INFO] [stdout] | -------^^^^^-------------------------------------------- help: try: `if crate::js::copy_to_clipboard(&link).await.is_ok()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/page/weekly_overview.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | let year = use_signal(|| js::get_current_year()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `js::get_current_year` [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] --> src/service/auth.rs:46:59 [INFO] [stdout] | [INFO] [stdout] 46 | pub static AUTH: GlobalSignal = Signal::global(|| AuthStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `AuthStore::default` [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] --> src/service/billing_period.rs:35:84 [INFO] [stdout] | [INFO] [stdout] 35 | pub static BILLING_PERIOD_STORE: GlobalSignal = Signal::global(|| BillingPeriodStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `BillingPeriodStore::default` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/billing_period.rs:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/booking_conflict.rs:37:33 [INFO] [stdout] | [INFO] [stdout] 37 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/booking_log.rs:31:41 [INFO] [stdout] | [INFO] [stdout] 31 | ... error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/config.rs:29:58 [INFO] [stdout] | [INFO] [stdout] 29 | pub static CONFIG: GlobalSignal = Signal::global(|| Config::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Config::default` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/employee.rs:193:33 [INFO] [stdout] | [INFO] [stdout] 193 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/employee_work_details.rs:40:20 [INFO] [stdout] | [INFO] [stdout] 40 | Signal::global(|| EmployeeWorkDetailsStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `EmployeeWorkDetailsStore::default` [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: deref which would be done by auto-deref [INFO] [stdout] --> src/service/employee_work_details.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | (*EMPLOYEE_WORK_DETAILS_STORE.write()).selected_employee_work_details = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `EMPLOYEE_WORK_DETAILS_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/employee_work_details.rs:160:33 [INFO] [stdout] | [INFO] [stdout] 160 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/error.rs:11:67 [INFO] [stdout] | [INFO] [stdout] 11 | pub static ERROR_STORE: GlobalSignal = Signal::global(|| ErrorStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `ErrorStore::default` [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] --> src/service/slot_edit.rs:17:69 [INFO] [stdout] | [INFO] [stdout] 17 | pub static SLOT_EDIT_STORE: GlobalSignal = Signal::global(|| SlotEdit::new_edit()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `SlotEdit::new_edit` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/slot_edit.rs:103:33 [INFO] [stdout] | [INFO] [stdout] 103 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/text_template.rs:37:82 [INFO] [stdout] | [INFO] [stdout] 37 | pub static TEXT_TEMPLATE_STORE: GlobalSignal = Signal::global(|| TextTemplateStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `TextTemplateStore::default` [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: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/text_template.rs:208:25 [INFO] [stdout] | [INFO] [stdout] 208 | error: Some(error.into()), [INFO] [stdout] | ^^^^^^^^^^^^ help: consider removing `.into()`: `error` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/service/user_management.rs:51:20 [INFO] [stdout] | [INFO] [stdout] 51 | Signal::global(|| UserManagementStore::default()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `UserManagementStore::default` [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: useless conversion to the same type: `std::rc::Rc<[state::user_management::User]>` [INFO] [stdout] --> src/service/user_management.rs:57:51 [INFO] [stdout] | [INFO] [stdout] 57 | USER_MANAGEMENT_STORE.write().users = users.into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider removing `.into()`: `users` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 61 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::rc::Rc<[state::shiftplan::SalesPerson]>` [INFO] [stdout] --> src/service/user_management.rs:71:59 [INFO] [stdout] | [INFO] [stdout] 71 | USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `sales_persons` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:75:29 [INFO] [stdout] | [INFO] [stdout] 75 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:117:29 [INFO] [stdout] | [INFO] [stdout] 117 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/service/user_management.rs:141:21 [INFO] [stdout] | [INFO] [stdout] 141 | / if new_user_id != old_user_id { [INFO] [stdout] 142 | | loader::save_user_for_sales_person( [INFO] [stdout] 143 | | CONFIG.read().clone(), [INFO] [stdout] 144 | | selected_sales_person.sales_person.id, [INFO] [stdout] ... | [INFO] [stdout] 147 | | .await?; [INFO] [stdout] 148 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 140 ~ (Some(new_user_id), Some(old_user_id)) [INFO] [stdout] 141 ~ if new_user_id != old_user_id => { [INFO] [stdout] 142 | loader::save_user_for_sales_person( [INFO] [stdout] ... [INFO] [stdout] 147 | .await?; [INFO] [stdout] 148 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/service/user_management.rs:180:43 [INFO] [stdout] | [INFO] [stdout] 180 | assigned: user_roles.contains(&role), [INFO] [stdout] | ^^^^^ help: change this to: `role` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:225:29 [INFO] [stdout] | [INFO] [stdout] 225 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/user_management.rs:409:33 [INFO] [stdout] | [INFO] [stdout] 409 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | (*WEEKLY_SUMMARY_STORE.write()).weekly_summary = weekly_summary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | (*WEEKLY_SUMMARY_STORE.write()).weekly_summary = Rc::new([weekly_summary]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/service/weekly_summary.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | (*WEEKLY_SUMMARY_STORE.write()).data_loaded = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `WEEKLY_SUMMARY_STORE.write()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/weekly_summary.rs:54:33 [INFO] [stdout] | [INFO] [stdout] 54 | error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::ShiftyError` [INFO] [stdout] --> src/service/working_hours_mini.rs:32:41 [INFO] [stdout] | [INFO] [stdout] 32 | ... error: Some(err.into()), [INFO] [stdout] | ^^^^^^^^^^ help: consider removing `.into()`: `err` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `base_types::ImStr` [INFO] [stdout] --> src/state/dropdown.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | text: ImStr::from(triple.0), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider removing `ImStr::from()`: `triple.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/state/employee_work_details.rs:71:34 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn from_as_calendar_week(&self) -> (u32, u8, time::Weekday) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/state/sales_person_available.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | week: sales_person_available.calendar_week as u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `sales_person_available.calendar_week` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `from_*` usually take no `self` [INFO] [stdout] --> src/state/shiftplan.rs:174:22 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn from_hour(&self) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 37s [INFO] running `Command { std: "docker" "inspect" "c7206f9cd6d0728d4105a8d8c8f1cad0c586d60ec7d4ee5e0b76c07e9ada2920", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7206f9cd6d0728d4105a8d8c8f1cad0c586d60ec7d4ee5e0b76c07e9ada2920", kill_on_drop: false }` [INFO] [stdout] c7206f9cd6d0728d4105a8d8c8f1cad0c586d60ec7d4ee5e0b76c07e9ada2920