[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] 2a8535c55694d111c9c55d84b51da4aa18cc1f66
[INFO] checking neosam/shifty-dioxus against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fshifty-dioxus" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/neosam/shifty-dioxus on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680
[INFO] running `Command { std: "docker" "start" "547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.104
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling wasm-bindgen v0.2.104
[INFO] [stderr]     Checking dioxus-core-types v0.6.2
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking bitflags v2.9.4
[INFO] [stderr]     Checking longest-increasing-subsequence v0.1.0
[INFO] [stderr]    Compiling lazy-js-bundle v0.6.2
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]     Checking writeable v0.6.1
[INFO] [stderr]     Checking litemap v0.8.0
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]     Checking keyboard-types v0.7.0
[INFO] [stderr]    Compiling dioxus-document v0.6.3
[INFO] [stderr]    Compiling openssl v0.10.74
[INFO] [stderr]    Compiling dioxus-interpreter-js v0.6.2
[INFO] [stderr]    Compiling dioxus-web v0.6.3
[INFO] [stderr]     Checking sledgehammer_utils v0.3.1
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking deranged v0.5.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[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 colored v3.0.0
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling dioxus-config-macro v0.6.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]    Compiling openssl-sys v0.9.110
[INFO] [stderr]     Checking const_format v0.2.35
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking dioxus-rsx v0.6.2
[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 serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling warnings-macro v0.2.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling const-serialize-macro v0.6.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling dioxus-html-internal-macro v0.6.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling sledgehammer_bindgen_macro v0.6.1
[INFO] [stderr]    Compiling dioxus-router-macro v0.6.3
[INFO] [stderr]    Compiling dioxus-core-macro v0.6.3
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.104
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking warnings v0.2.1
[INFO] [stderr]     Checking generational-box v0.6.2
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking tungstenite v0.23.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.54
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.104
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling enumset_derive v0.14.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking js-sys v0.3.81
[INFO] [stderr]     Checking dioxus-cli-config v0.6.3
[INFO] [stderr]     Checking sledgehammer_bindgen v0.6.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking dioxus-logger v0.6.2
[INFO] [stderr]     Checking enumset v1.1.10
[INFO] [stderr]     Checking const-serialize v0.6.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]    Compiling manganis-core v0.6.2
[INFO] [stderr]    Compiling utoipa-gen v5.4.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling manganis-macro v0.6.2
[INFO] [stderr]     Checking manganis v0.6.2
[INFO] [stderr]     Checking dioxus-core v0.6.3
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking url v2.5.7
[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 dioxus-ssr 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 gloo-timers v0.3.0
[INFO] [stderr]     Checking wasm-bindgen-test v0.3.54
[INFO] [stderr]     Checking dioxus-hooks v0.6.2
[INFO] [stderr]     Checking dioxus-devtools v0.6.2
[INFO] [stderr]     Checking dioxus-html v0.6.3
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking mockito v1.7.0
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking utoipa v5.4.0
[INFO] [stderr]     Checking dioxus-lib v0.6.2
[INFO] [stderr]     Checking dioxus-router v0.6.3
[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:1414:44
[INFO] [stdout]      |
[INFO] [stdout] 1414 |     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.13.0-dev (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `add_extra_hours_form::AddExtraHoursForm`
[INFO] [stdout]   --> src/component/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use add_extra_hours_form::AddExtraHoursForm;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TupleRow`
[INFO] [stdout]   --> src/component/mod.rs:33:54
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub use atoms::{Btn, BtnVariant, NavBtn, PersonChip, TupleRow};
[INFO] [stdout]    |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `employee_work_details_form::EmployeeWorkDetailsForm`
[INFO] [stdout]   --> src/component/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use employee_work_details_form::EmployeeWorkDetailsForm;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `employees_list::EmployeesList`
[INFO] [stdout]   --> src/component/mod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use employees_list::EmployeesList;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FormCheckbox`
[INFO] [stdout]   --> src/component/mod.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub use form::{Field, FormCheckbox, SelectInput, TextInput, TextareaInput};
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `add_extra_hours_form::AddExtraHoursForm`
[INFO] [stdout]   --> src/component/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use add_extra_hours_form::AddExtraHoursForm;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TupleRow`
[INFO] [stdout]   --> src/component/mod.rs:33:54
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub use atoms::{Btn, BtnVariant, NavBtn, PersonChip, TupleRow};
[INFO] [stdout]    |                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `employee_work_details_form::EmployeeWorkDetailsForm`
[INFO] [stdout]   --> src/component/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub use employee_work_details_form::EmployeeWorkDetailsForm;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `employees_list::EmployeesList`
[INFO] [stdout]   --> src/component/mod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use employees_list::EmployeesList;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FormCheckbox`
[INFO] [stdout]   --> src/component/mod.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub use form::{Field, FormCheckbox, SelectInput, TextInput, TextareaInput};
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/router.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Routable, Debug, PartialEq)]
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 unreachable call
[INFO] [stdout]    |                 any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Routable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/router.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Routable, Debug, PartialEq)]
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 unreachable call
[INFO] [stdout]    |                 any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Routable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_store`
[INFO] [stdout]   --> src/page/user_details.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     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:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | 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:694:14
[INFO] [stdout]     |
[INFO] [stdout] 694 | pub async fn get_special_days_for_week(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AddExtraHoursFormAction` is never used
[INFO] [stdout]   --> src/component/add_extra_hours_form.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AddExtraHoursFormAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_time_input` is never used
[INFO] [stdout]    --> src/component/base_components.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn parse_time_input(value: &str) -> Option<time::Time> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_sunday_slots` is never used
[INFO] [stdout]    --> src/component/day_aggregate_view.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub fn has_sunday_slots(day_aggregate: &Option<DayAggregate>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Sheet` is never constructed
[INFO] [stdout]   --> src/component/dialog.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum DialogVariant {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 27 |     Center,
[INFO] [stdout] 28 |     Sheet,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DialogVariant` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_escape_key` is never used
[INFO] [stdout]    --> src/component/dialog.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) fn is_escape_key(key: &str) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ColumnViewSlot` is never used
[INFO] [stdout]   --> src/component/week_view.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn ColumnViewSlot<CustomData>(props: ColumnViewSlotProps<CustomData>) -> Element
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_to_column_view_item_with_tooltips` is never used
[INFO] [stdout]    --> src/component/week_view.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn slot_to_column_view_item_with_tooltips(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_total_label` is never used
[INFO] [stdout]    --> src/component/week_view.rs:816:15
[INFO] [stdout]     |
[INFO] [stdout] 816 | pub(crate) fn day_total_label(weekday: Weekday) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_bookings` is never used
[INFO] [stdout]   --> src/loader.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 | 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:104:14
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BillingPeriodDetailsAction {
[INFO] [stdout]    |          -------------------------- variant in this enum
[INFO] [stdout] 22 |     LoadBillingPeriod,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CopyFromPreviousWeek` and `LoadWeekMessage` are never constructed
[INFO] [stdout]   --> src/page/shiftplan.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum ShiftPlanAction {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 66 |     CopyFromPreviousWeek,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     LoadWeekMessage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ClearSelection` is never constructed
[INFO] [stdout]   --> src/service/billing_period.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum BillingPeriodAction {
[INFO] [stdout]    |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     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: variant `Delete` is never constructed
[INFO] [stdout]    --> src/service/employee_work_details.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum EmployeeWorkDetailsAction {
[INFO] [stdout]     |          ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 121 |     Delete(Uuid),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LoadTemplate`, `ClearSelection`, and `ClearFilter` are never constructed
[INFO] [stdout]   --> src/service/text_template.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum TextTemplateAction {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     LoadTemplate(Uuid),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ClearSelection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     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:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub async fn generate_custom_report(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STORAGE_KEY` is never used
[INFO] [stdout]  --> src/service/theme.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const STORAGE_KEY: &str = "shifty-theme";
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DARK_MEDIA_QUERY` is never used
[INFO] [stdout]  --> src/service/theme.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const DARK_MEDIA_QUERY: &str = "(prefers-color-scheme: dark)";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/service/theme.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ThemeMode {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn from_str(s: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/service/theme.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl ResolvedTheme {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 44 |     pub fn as_str(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SystemThemeChanged` is never constructed
[INFO] [stdout]   --> src/service/theme.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum ThemeAction {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 53 |     SetMode(ThemeMode),
[INFO] [stdout] 54 |     SystemThemeChanged(ResolvedTheme),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SaveSalesPerson`, `LoadAllSalesPersonUserLinks`, `LoadAllUserSalesPersonLinks`, and `LoadAllUserRoles` are never constructed
[INFO] [stdout]    --> src/service/user_management.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 403 | pub enum UserManagementAction {
[INFO] [stdout]     |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 410 |     SaveSalesPerson,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     LoadAllSalesPersonUserLinks,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 427 |     LoadAllUserSalesPersonLinks,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 428 |     LoadAllUserRoles,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingSchedule` is never constructed
[INFO] [stdout]   --> src/state/employee.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct WorkingSchedule {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]    --> src/state/shiftplan.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub trait Identifiable {
[INFO] [stdout]     |           ------------ method in this trait
[INFO] [stdout] 156 |     fn id(&self) -> Rc<str>;
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_sunday_slots` is never used
[INFO] [stdout]    --> src/state/shiftplan.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 285 | impl DayAggregate {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn has_sunday_slots(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `time::Date`
[INFO] [stdout]   --> src/component/employee_work_details_form.rs:85:62
[INFO] [stdout]    |
[INFO] [stdout] 85 | ...                   employee_work_details.from = date.into();
[INFO] [stdout]    |                                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 85 -                                 employee_work_details.from = date.into();
[INFO] [stdout] 85 +                                 employee_work_details.from = date;
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 85 -                                 employee_work_details.from = date.into();
[INFO] [stdout] 85 +                                 employee_work_details.from = <time::Date as Into<_>>::into(date);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `time::Date`
[INFO] [stdout]    --> src/component/employee_work_details_form.rs:107:60
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   employee_work_details.to = date.into();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 107 -                                 employee_work_details.to = date.into();
[INFO] [stdout] 107 +                                 employee_work_details.to = date;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 107 -                                 employee_work_details.to = date.into();
[INFO] [stdout] 107 +                                 employee_work_details.to = <time::Date as Into<_>>::into(date);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ColumnViewContent`
[INFO] [stdout]    --> src/component/week_view.rs:443:28
[INFO] [stdout]     |
[INFO] [stdout] 443 |                       title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 444 | |                         .into(),
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 443 -                     title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())
[INFO] [stdout] 444 -                         .into(),
[INFO] [stdout] 443 +                     title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone()),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 443 -                     title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())
[INFO] [stdout] 444 -                         .into(),
[INFO] [stdout] 443 +                     title: <ColumnViewContent as Into<_>>::into(ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Rc<str>`
[INFO] [stdout]   --> src/page/sales_person_details.rs:98:47
[INFO] [stdout]    |
[INFO] [stdout] 98 | ...                   FormPair { label: i18n.t(Key::Name).into(),
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 98 -                             FormPair { label: i18n.t(Key::Name).into(),
[INFO] [stdout] 98 +                             FormPair { label: i18n.t(Key::Name),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 98 -                             FormPair { label: i18n.t(Key::Name).into(),
[INFO] [stdout] 98 +                             FormPair { label: <Rc<str> as Into<_>>::into(i18n.t(Key::Name)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Rc<str>`
[INFO] [stdout]    --> src/page/sales_person_details.rs:116:47
[INFO] [stdout]     |
[INFO] [stdout] 116 | ...                   FormPair { label: i18n.t(Key::ShiftplanColor).into(),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 116 -                             FormPair { label: i18n.t(Key::ShiftplanColor).into(),
[INFO] [stdout] 116 +                             FormPair { label: i18n.t(Key::ShiftplanColor),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 116 -                             FormPair { label: i18n.t(Key::ShiftplanColor).into(),
[INFO] [stdout] 116 +                             FormPair { label: <Rc<str> as Into<_>>::into(i18n.t(Key::ShiftplanColor)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Rc<str>`
[INFO] [stdout]    --> src/page/sales_person_details.rs:188:47
[INFO] [stdout]     |
[INFO] [stdout] 188 | ...                   FormPair { label: i18n.t(Key::UserAccount).into(),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 188 -                             FormPair { label: i18n.t(Key::UserAccount).into(),
[INFO] [stdout] 188 +                             FormPair { label: i18n.t(Key::UserAccount),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 188 -                             FormPair { label: i18n.t(Key::UserAccount).into(),
[INFO] [stdout] 188 +                             FormPair { label: <Rc<str> as Into<_>>::into(i18n.t(Key::UserAccount)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ImStr`
[INFO] [stdout]    --> src/page/sales_person_details.rs:207:56
[INFO] [stdout]     |
[INFO] [stdout] 207 | ...                   value: user_id.clone().into(),
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 207 -                                                 value: user_id.clone().into(),
[INFO] [stdout] 207 +                                                 value: user_id.clone(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 207 -                                                 value: user_id.clone().into(),
[INFO] [stdout] 207 +                                                 value: <ImStr as Into<_>>::into(user_id.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ImStr`
[INFO] [stdout]    --> src/page/user_details.rs:114:69
[INFO] [stdout]     |
[INFO] [stdout] 114 | ...                   role_assignment.role.clone().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 114 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 114 +                                                                     role_assignment.role.clone(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 114 +                                                                     <ImStr as Into<_>>::into(role_assignment.role.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ImStr`
[INFO] [stdout]    --> src/page/user_details.rs:122:69
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...                   role_assignment.role.clone().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 122 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 122 +                                                                     role_assignment.role.clone(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 122 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 122 +                                                                     <ImStr as Into<_>>::into(role_assignment.role.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]   --> src/service/billing_period.rs:90:33
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     error: Some(err.into()),
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 90 -                     error: Some(err.into()),
[INFO] [stdout] 90 +                     error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 90 -                     error: Some(err.into()),
[INFO] [stdout] 90 +                     error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]   --> src/service/booking_conflict.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |                     error: Some(err.into()),
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 37 -                     error: Some(err.into()),
[INFO] [stdout] 37 +                     error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 37 -                     error: Some(err.into()),
[INFO] [stdout] 37 +                     error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]   --> src/service/booking_log.rs:30:41
[INFO] [stdout]    |
[INFO] [stdout] 30 | ...                   error: Some(err.into()),
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 30 -                             error: Some(err.into()),
[INFO] [stdout] 30 +                             error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 30 -                             error: Some(err.into()),
[INFO] [stdout] 30 +                             error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/employee.rs:271:33
[INFO] [stdout]     |
[INFO] [stdout] 271 |                     error: Some(err.into()),
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 271 -                     error: Some(err.into()),
[INFO] [stdout] 271 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 271 -                     error: Some(err.into()),
[INFO] [stdout] 271 +                     error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/employee_work_details.rs:160:33
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     error: Some(err.into()),
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 160 -                     error: Some(err.into()),
[INFO] [stdout] 160 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 160 -                     error: Some(err.into()),
[INFO] [stdout] 160 +                     error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/slot_edit.rs:114:33
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     error: Some(err.into()),
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 114 -                     error: Some(err.into()),
[INFO] [stdout] 114 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 -                     error: Some(err.into()),
[INFO] [stdout] 114 +                     error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/text_template.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |             error: Some(error.into()),
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 220 -             error: Some(error.into()),
[INFO] [stdout] 220 +             error: Some(error),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 220 -             error: Some(error.into()),
[INFO] [stdout] 220 +             error: Some(<ShiftyError as Into<_>>::into(error)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Rc<[User]>`
[INFO] [stdout]    --> src/service/user_management.rs:110:51
[INFO] [stdout]     |
[INFO] [stdout] 110 |             USER_MANAGEMENT_STORE.write().users = users.into();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 110 -             USER_MANAGEMENT_STORE.write().users = users.into();
[INFO] [stdout] 110 +             USER_MANAGEMENT_STORE.write().users = users;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 110 -             USER_MANAGEMENT_STORE.write().users = users.into();
[INFO] [stdout] 110 +             USER_MANAGEMENT_STORE.write().users = <Rc<[User]> as Into<_>>::into(users);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 114 -                 error: Some(err.into()),
[INFO] [stdout] 114 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 -                 error: Some(err.into()),
[INFO] [stdout] 114 +                 error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `Rc<[SalesPerson]>`
[INFO] [stdout]    --> src/service/user_management.rs:124:59
[INFO] [stdout]     |
[INFO] [stdout] 124 |             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 124 -             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into();
[INFO] [stdout] 124 +             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 124 -             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into();
[INFO] [stdout] 124 +             USER_MANAGEMENT_STORE.write().sales_persons = <Rc<[SalesPerson]> as Into<_>>::into(sales_persons);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:128:29
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 128 -                 error: Some(err.into()),
[INFO] [stdout] 128 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 128 -                 error: Some(err.into()),
[INFO] [stdout] 128 +                 error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |             error: Some(err.into()),
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 159 -             error: Some(err.into()),
[INFO] [stdout] 159 +             error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 159 -             error: Some(err.into()),
[INFO] [stdout] 159 +             error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 229 -                 error: Some(err.into()),
[INFO] [stdout] 229 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 229 -                 error: Some(err.into()),
[INFO] [stdout] 229 +                 error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 error: Some(err.into()),
[INFO] [stdout] 254 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 error: Some(err.into()),
[INFO] [stdout] 254 +                 error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:367:29
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 367 -                 error: Some(err.into()),
[INFO] [stdout] 367 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 367 -                 error: Some(err.into()),
[INFO] [stdout] 367 +                 error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:597:33
[INFO] [stdout]     |
[INFO] [stdout] 597 |                     error: Some(err.into()),
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 597 -                     error: Some(err.into()),
[INFO] [stdout] 597 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 597 -                     error: Some(err.into()),
[INFO] [stdout] 597 +                     error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]   --> src/service/weekly_summary.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     error: Some(err.into()),
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 54 -                     error: Some(err.into()),
[INFO] [stdout] 54 +                     error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 54 -                     error: Some(err.into()),
[INFO] [stdout] 54 +                     error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ShiftyError`
[INFO] [stdout]   --> src/service/working_hours_mini.rs:36:41
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...                   error: Some(err.into()),
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 36 -                             error: Some(err.into()),
[INFO] [stdout] 36 +                             error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 36 -                             error: Some(err.into()),
[INFO] [stdout] 36 +                             error: Some(<ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shifty-dioxus` (bin "shifty-dioxus") due to 27 previous errors; 35 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `error_store`
[INFO] [stdout]   --> src/page/user_details.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     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: variable does not need to be mutable
[INFO] [stdout]    --> src/page/user_management.rs:497:17
[INFO] [stdout]     |
[INFO] [stdout] 497 |             let mut search = use_signal(|| props.initial.clone());
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/page/user_management.rs:522:17
[INFO] [stdout]     |
[INFO] [stdout] 522 |             let mut search = use_signal(|| props.initial.clone());
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[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:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | 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:694:14
[INFO] [stdout]     |
[INFO] [stdout] 694 | pub async fn get_special_days_for_week(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AddExtraHoursFormAction` is never used
[INFO] [stdout]   --> src/component/add_extra_hours_form.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AddExtraHoursFormAction {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ColumnViewSlot` is never used
[INFO] [stdout]   --> src/component/week_view.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn ColumnViewSlot<CustomData>(props: ColumnViewSlotProps<CustomData>) -> Element
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_to_column_view_item_with_tooltips` is never used
[INFO] [stdout]    --> src/component/week_view.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn slot_to_column_view_item_with_tooltips(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `day_total_label` is never used
[INFO] [stdout]    --> src/component/week_view.rs:816:15
[INFO] [stdout]     |
[INFO] [stdout] 816 | pub(crate) fn day_total_label(weekday: Weekday) -> String {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_bookings` is never used
[INFO] [stdout]   --> src/loader.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 | 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:104:14
[INFO] [stdout]     |
[INFO] [stdout] 104 | 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:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BillingPeriodDetailsAction {
[INFO] [stdout]    |          -------------------------- variant in this enum
[INFO] [stdout] 22 |     LoadBillingPeriod,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CopyFromPreviousWeek` and `LoadWeekMessage` are never constructed
[INFO] [stdout]   --> src/page/shiftplan.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum ShiftPlanAction {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 66 |     CopyFromPreviousWeek,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     LoadWeekMessage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ClearSelection` is never constructed
[INFO] [stdout]   --> src/service/billing_period.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum BillingPeriodAction {
[INFO] [stdout]    |          ------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     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: variant `Delete` is never constructed
[INFO] [stdout]    --> src/service/employee_work_details.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub enum EmployeeWorkDetailsAction {
[INFO] [stdout]     |          ------------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 121 |     Delete(Uuid),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LoadTemplate`, `ClearSelection`, and `ClearFilter` are never constructed
[INFO] [stdout]   --> src/service/text_template.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum TextTemplateAction {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     LoadTemplate(Uuid),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     ClearSelection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     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:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub async fn generate_custom_report(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STORAGE_KEY` is never used
[INFO] [stdout]  --> src/service/theme.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const STORAGE_KEY: &str = "shifty-theme";
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DARK_MEDIA_QUERY` is never used
[INFO] [stdout]  --> src/service/theme.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const DARK_MEDIA_QUERY: &str = "(prefers-color-scheme: dark)";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/service/theme.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl ResolvedTheme {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 44 |     pub fn as_str(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SystemThemeChanged` is never constructed
[INFO] [stdout]   --> src/service/theme.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum ThemeAction {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 53 |     SetMode(ThemeMode),
[INFO] [stdout] 54 |     SystemThemeChanged(ResolvedTheme),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SaveSalesPerson`, `LoadAllSalesPersonUserLinks`, `LoadAllUserSalesPersonLinks`, and `LoadAllUserRoles` are never constructed
[INFO] [stdout]    --> src/service/user_management.rs:410:5
[INFO] [stdout]     |
[INFO] [stdout] 403 | pub enum UserManagementAction {
[INFO] [stdout]     |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 410 |     SaveSalesPerson,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 426 |     LoadAllSalesPersonUserLinks,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 427 |     LoadAllUserSalesPersonLinks,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 428 |     LoadAllUserRoles,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingSchedule` is never constructed
[INFO] [stdout]   --> src/state/employee.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct WorkingSchedule {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]    --> src/state/shiftplan.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub trait Identifiable {
[INFO] [stdout]     |           ------------ method in this trait
[INFO] [stdout] 156 |     fn id(&self) -> Rc<str>;
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_sunday_slots` is never used
[INFO] [stdout]    --> src/state/shiftplan.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 285 | impl DayAggregate {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn has_sunday_slots(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `time::Date`
[INFO] [stdout]   --> src/component/employee_work_details_form.rs:85:62
[INFO] [stdout]    |
[INFO] [stdout] 85 | ...                   employee_work_details.from = date.into();
[INFO] [stdout]    |                                                    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]    = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 85 -                                 employee_work_details.from = date.into();
[INFO] [stdout] 85 +                                 employee_work_details.from = date;
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 85 -                                 employee_work_details.from = date.into();
[INFO] [stdout] 85 +                                 employee_work_details.from = <time::Date as Into<_>>::into(date);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `time::Date`
[INFO] [stdout]    --> src/component/employee_work_details_form.rs:107:60
[INFO] [stdout]     |
[INFO] [stdout] 107 | ...                   employee_work_details.to = date.into();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 107 -                                 employee_work_details.to = date.into();
[INFO] [stdout] 107 +                                 employee_work_details.to = date;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 107 -                                 employee_work_details.to = date.into();
[INFO] [stdout] 107 +                                 employee_work_details.to = <time::Date as Into<_>>::into(date);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `ColumnViewContent`
[INFO] [stdout]    --> src/component/week_view.rs:443:28
[INFO] [stdout]     |
[INFO] [stdout] 443 |                       title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 444 | |                         .into(),
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 443 -                     title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())
[INFO] [stdout] 444 -                         .into(),
[INFO] [stdout] 443 +                     title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone()),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 443 -                     title: ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())
[INFO] [stdout] 444 -                         .into(),
[INFO] [stdout] 443 +                     title: <ColumnViewContent as Into<_>>::into(ColumnViewContent::Title(props.title.unwrap_or_else(|| "".into()).clone())),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::rc::Rc<str>`
[INFO] [stdout]   --> src/page/sales_person_details.rs:98:47
[INFO] [stdout]    |
[INFO] [stdout] 98 | ...                   FormPair { label: i18n.t(Key::Name).into(),
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 98 -                             FormPair { label: i18n.t(Key::Name).into(),
[INFO] [stdout] 98 +                             FormPair { label: i18n.t(Key::Name),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 98 -                             FormPair { label: i18n.t(Key::Name).into(),
[INFO] [stdout] 98 +                             FormPair { label: <std::rc::Rc<str> as Into<_>>::into(i18n.t(Key::Name)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::rc::Rc<str>`
[INFO] [stdout]    --> src/page/sales_person_details.rs:116:47
[INFO] [stdout]     |
[INFO] [stdout] 116 | ...                   FormPair { label: i18n.t(Key::ShiftplanColor).into(),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 116 -                             FormPair { label: i18n.t(Key::ShiftplanColor).into(),
[INFO] [stdout] 116 +                             FormPair { label: i18n.t(Key::ShiftplanColor),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 116 -                             FormPair { label: i18n.t(Key::ShiftplanColor).into(),
[INFO] [stdout] 116 +                             FormPair { label: <std::rc::Rc<str> as Into<_>>::into(i18n.t(Key::ShiftplanColor)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::rc::Rc<str>`
[INFO] [stdout]    --> src/page/sales_person_details.rs:188:47
[INFO] [stdout]     |
[INFO] [stdout] 188 | ...                   FormPair { label: i18n.t(Key::UserAccount).into(),
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 188 -                             FormPair { label: i18n.t(Key::UserAccount).into(),
[INFO] [stdout] 188 +                             FormPair { label: i18n.t(Key::UserAccount),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 188 -                             FormPair { label: i18n.t(Key::UserAccount).into(),
[INFO] [stdout] 188 +                             FormPair { label: <std::rc::Rc<str> as Into<_>>::into(i18n.t(Key::UserAccount)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `base_types::ImStr`
[INFO] [stdout]    --> src/page/sales_person_details.rs:207:56
[INFO] [stdout]     |
[INFO] [stdout] 207 | ...                   value: user_id.clone().into(),
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 207 -                                                 value: user_id.clone().into(),
[INFO] [stdout] 207 +                                                 value: user_id.clone(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 207 -                                                 value: user_id.clone().into(),
[INFO] [stdout] 207 +                                                 value: <base_types::ImStr as Into<_>>::into(user_id.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `base_types::ImStr`
[INFO] [stdout]    --> src/page/user_details.rs:114:69
[INFO] [stdout]     |
[INFO] [stdout] 114 | ...                   role_assignment.role.clone().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 114 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 114 +                                                                     role_assignment.role.clone(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 114 +                                                                     <base_types::ImStr as Into<_>>::into(role_assignment.role.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `base_types::ImStr`
[INFO] [stdout]    --> src/page/user_details.rs:122:69
[INFO] [stdout]     |
[INFO] [stdout] 122 | ...                   role_assignment.role.clone().into(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 122 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 122 +                                                                     role_assignment.role.clone(),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 122 -                                                                     role_assignment.role.clone().into(),
[INFO] [stdout] 122 +                                                                     <base_types::ImStr as Into<_>>::into(role_assignment.role.clone()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]   --> src/service/billing_period.rs:90:33
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     error: Some(err.into()),
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 90 -                     error: Some(err.into()),
[INFO] [stdout] 90 +                     error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 90 -                     error: Some(err.into()),
[INFO] [stdout] 90 +                     error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 37 -                     error: Some(err.into()),
[INFO] [stdout] 37 +                     error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 37 -                     error: Some(err.into()),
[INFO] [stdout] 37 +                     error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]   --> src/service/booking_log.rs:30:41
[INFO] [stdout]    |
[INFO] [stdout] 30 | ...                   error: Some(err.into()),
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 30 -                             error: Some(err.into()),
[INFO] [stdout] 30 +                             error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 30 -                             error: Some(err.into()),
[INFO] [stdout] 30 +                             error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/employee.rs:271:33
[INFO] [stdout]     |
[INFO] [stdout] 271 |                     error: Some(err.into()),
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 271 -                     error: Some(err.into()),
[INFO] [stdout] 271 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 271 -                     error: Some(err.into()),
[INFO] [stdout] 271 +                     error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 160 -                     error: Some(err.into()),
[INFO] [stdout] 160 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 160 -                     error: Some(err.into()),
[INFO] [stdout] 160 +                     error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/slot_edit.rs:114:33
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     error: Some(err.into()),
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 114 -                     error: Some(err.into()),
[INFO] [stdout] 114 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 -                     error: Some(err.into()),
[INFO] [stdout] 114 +                     error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/text_template.rs:220:25
[INFO] [stdout]     |
[INFO] [stdout] 220 |             error: Some(error.into()),
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 220 -             error: Some(error.into()),
[INFO] [stdout] 220 +             error: Some(error),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 220 -             error: Some(error.into()),
[INFO] [stdout] 220 +             error: Some(<error::ShiftyError as Into<_>>::into(error)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::rc::Rc<[User]>`
[INFO] [stdout]    --> src/service/user_management.rs:110:51
[INFO] [stdout]     |
[INFO] [stdout] 110 |             USER_MANAGEMENT_STORE.write().users = users.into();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 110 -             USER_MANAGEMENT_STORE.write().users = users.into();
[INFO] [stdout] 110 +             USER_MANAGEMENT_STORE.write().users = users;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 110 -             USER_MANAGEMENT_STORE.write().users = users.into();
[INFO] [stdout] 110 +             USER_MANAGEMENT_STORE.write().users = <std::rc::Rc<[User]> as Into<_>>::into(users);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:114:29
[INFO] [stdout]     |
[INFO] [stdout] 114 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 114 -                 error: Some(err.into()),
[INFO] [stdout] 114 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 114 -                 error: Some(err.into()),
[INFO] [stdout] 114 +                 error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::rc::Rc<[SalesPerson]>`
[INFO] [stdout]    --> src/service/user_management.rs:124:59
[INFO] [stdout]     |
[INFO] [stdout] 124 |             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into();
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 124 -             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into();
[INFO] [stdout] 124 +             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 124 -             USER_MANAGEMENT_STORE.write().sales_persons = sales_persons.into();
[INFO] [stdout] 124 +             USER_MANAGEMENT_STORE.write().sales_persons = <std::rc::Rc<[SalesPerson]> as Into<_>>::into(sales_persons);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:128:29
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 128 -                 error: Some(err.into()),
[INFO] [stdout] 128 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 128 -                 error: Some(err.into()),
[INFO] [stdout] 128 +                 error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |             error: Some(err.into()),
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 159 -             error: Some(err.into()),
[INFO] [stdout] 159 +             error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 159 -             error: Some(err.into()),
[INFO] [stdout] 159 +             error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 229 -                 error: Some(err.into()),
[INFO] [stdout] 229 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 229 -                 error: Some(err.into()),
[INFO] [stdout] 229 +                 error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 error: Some(err.into()),
[INFO] [stdout] 254 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 error: Some(err.into()),
[INFO] [stdout] 254 +                 error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:367:29
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 error: Some(err.into()),
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 367 -                 error: Some(err.into()),
[INFO] [stdout] 367 +                 error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 367 -                 error: Some(err.into()),
[INFO] [stdout] 367 +                 error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]    --> src/service/user_management.rs:597:33
[INFO] [stdout]     |
[INFO] [stdout] 597 |                     error: Some(err.into()),
[INFO] [stdout]     |                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 597 -                     error: Some(err.into()),
[INFO] [stdout] 597 +                     error: Some(err),
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 597 -                     error: Some(err.into()),
[INFO] [stdout] 597 +                     error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 54 -                     error: Some(err.into()),
[INFO] [stdout] 54 +                     error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 54 -                     error: Some(err.into()),
[INFO] [stdout] 54 +                     error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `error::ShiftyError`
[INFO] [stdout]   --> src/service/working_hours_mini.rs:36:41
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...                   error: Some(err.into()),
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 36 -                             error: Some(err.into()),
[INFO] [stdout] 36 +                             error: Some(err),
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 36 -                             error: Some(err.into()),
[INFO] [stdout] 36 +                             error: Some(<error::ShiftyError as Into<_>>::into(err)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shifty-dioxus` (bin "shifty-dioxus" test) due to 27 previous errors; 32 warnings emitted
[INFO] [stderr] warning: unused dependency `async-recursion`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | async-recursion = "1.1.1"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `async-recursion`
[INFO] [stderr] warning: `shifty-dioxus` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680", kill_on_drop: false }`
[INFO] [stdout] 547ddfe6f9973c0ee5425991ccbec71adfa388a9e94e22b614a50e591fad5680
