[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] testing neosam/shifty-dioxus against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneosam%2Fshifty-dioxus" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-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-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/neosam/shifty-dioxus on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019
[INFO] running `Command { std: "docker" "start" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019", 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" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.104
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling dioxus-core-types v0.6.2
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling wasm-bindgen v0.2.104
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling lazy-js-bundle v0.6.2
[INFO] [stderr]    Compiling longest-increasing-subsequence v0.1.0
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling dioxus-document v0.6.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling keyboard-types v0.7.0
[INFO] [stderr]    Compiling dioxus-interpreter-js v0.6.2
[INFO] [stderr]    Compiling dioxus-web v0.6.3
[INFO] [stderr]    Compiling sledgehammer_utils v0.3.1
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling deranged v0.5.4
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling dioxus-config-macro v0.6.2
[INFO] [stderr]    Compiling euclid v0.22.11
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling const_format v0.2.35
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling 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 zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[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 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]    Compiling openssl v0.10.74
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.104
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tungstenite v0.23.0
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling warnings v0.2.1
[INFO] [stderr]    Compiling generational-box v0.6.2
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.104
[INFO] [stderr]    Compiling zerotrie v0.2.2
[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]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling js-sys v0.3.81
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling enumset v1.1.10
[INFO] [stderr]    Compiling dioxus-cli-config v0.6.3
[INFO] [stderr]    Compiling const-serialize v0.6.2
[INFO] [stderr]    Compiling dioxus-core v0.6.3
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling manganis-core v0.6.2
[INFO] [stderr]    Compiling sledgehammer_bindgen v0.6.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling utoipa-gen v5.4.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling manganis-macro v0.6.2
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling dioxus-logger v0.6.2
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling manganis v0.6.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling web-sys v0.3.81
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.54
[INFO] [stderr]    Compiling serde-wasm-bindgen v0.5.0
[INFO] [stderr]    Compiling gloo-timers v0.3.0
[INFO] [stderr]    Compiling dioxus-signals v0.6.3
[INFO] [stderr]    Compiling dioxus-history v0.6.2
[INFO] [stderr]    Compiling dioxus-devtools-types v0.6.2
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling dioxus-hooks v0.6.2
[INFO] [stderr]    Compiling dioxus-devtools v0.6.2
[INFO] [stderr]    Compiling dioxus-html v0.6.3
[INFO] [stderr]    Compiling utoipa v5.4.0
[INFO] [stderr]    Compiling dioxus-lib v0.6.2
[INFO] [stderr]    Compiling dioxus-router v0.6.3
[INFO] [stderr]    Compiling 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]    Compiling dioxus v0.6.3
[INFO] [stderr]    Compiling 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: 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] [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] [stderr]     Finished `release` profile [optimized] target(s) in 3m 53s
[INFO] running `Command { std: "docker" "inspect" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.54
[INFO] [stderr]    Compiling colored v3.0.0
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling dioxus-ssr v0.6.2
[INFO] [stderr]    Compiling wasm-bindgen-test v0.3.54
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling 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]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling mockito v1.7.0
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling 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: 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: 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] [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: unused dependency `mockito`
[INFO] [stderr]   --> Cargo.toml:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | mockito = "1.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `mockito`
[INFO] [stderr] warning: unused dependency `tokio-test`
[INFO] [stderr]   --> Cargo.toml:48:1
[INFO] [stderr]    |
[INFO] [stderr] 48 | tokio-test = "0.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tokio-test`
[INFO] [stderr] warning: unused dependency `wasm-bindgen-test`
[INFO] [stderr]   --> Cargo.toml:49:1
[INFO] [stderr]    |
[INFO] [stderr] 49 | wasm-bindgen-test = "0.3"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `wasm-bindgen-test`
[INFO] [stderr] warning: `shifty-dioxus` (manifest) generated 4 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 00s
[INFO] running `Command { std: "docker" "inspect" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Serialize`
[INFO] [stderr]     --> rest-types/src/lib.rs:1414:44
[INFO] [stderr]      |
[INFO] [stderr] 1414 |     use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stderr]      |                                            ^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rest-types` (lib) generated 1 warning (run `cargo fix --lib -p rest-types` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `add_extra_hours_form::AddExtraHoursForm`
[INFO] [stderr]   --> src/component/mod.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub use add_extra_hours_form::AddExtraHoursForm;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TupleRow`
[INFO] [stderr]   --> src/component/mod.rs:33:54
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub use atoms::{Btn, BtnVariant, NavBtn, PersonChip, TupleRow};
[INFO] [stderr]    |                                                      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `employee_work_details_form::EmployeeWorkDetailsForm`
[INFO] [stderr]   --> src/component/mod.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub use employee_work_details_form::EmployeeWorkDetailsForm;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `employees_list::EmployeesList`
[INFO] [stderr]   --> src/component/mod.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub use employees_list::EmployeesList;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FormCheckbox`
[INFO] [stderr]   --> src/component/mod.rs:44:23
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub use form::{Field, FormCheckbox, SelectInput, TextInput, TextareaInput};
[INFO] [stderr]    |                       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable call
[INFO] [stderr]   --> src/router.rs:19:17
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive(Clone, Routable, Debug, PartialEq)]
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 unreachable call
[INFO] [stderr]    |                 any code following this expression is unreachable
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Routable` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `error_store`
[INFO] [stderr]   --> src/page/user_details.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let error_store = ERROR_STORE.read();
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_store`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/page/user_management.rs:497:17
[INFO] [stderr]     |
[INFO] [stderr] 497 |             let mut search = use_signal(|| props.initial.clone());
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/page/user_management.rs:522:17
[INFO] [stderr]     |
[INFO] [stderr] 522 |             let mut search = use_signal(|| props.initial.clone());
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_slots` is never used
[INFO] [stderr]   --> src/api.rs:55:14
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub async fn get_slots(
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_bookings_for_week` is never used
[INFO] [stderr]    --> src/api.rs:181:14
[INFO] [stderr]     |
[INFO] [stderr] 181 | pub async fn get_bookings_for_week(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_special_days_for_week` is never used
[INFO] [stderr]    --> src/api.rs:694:14
[INFO] [stderr]     |
[INFO] [stderr] 694 | pub async fn get_special_days_for_week(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AddExtraHoursFormAction` is never used
[INFO] [stderr]   --> src/component/add_extra_hours_form.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum AddExtraHoursFormAction {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ColumnViewSlot` is never used
[INFO] [stderr]   --> src/component/week_view.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub fn ColumnViewSlot<CustomData>(props: ColumnViewSlotProps<CustomData>) -> Element
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `slot_to_column_view_item_with_tooltips` is never used
[INFO] [stderr]    --> src/component/week_view.rs:355:4
[INFO] [stderr]     |
[INFO] [stderr] 355 | fn slot_to_column_view_item_with_tooltips(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `day_total_label` is never used
[INFO] [stderr]    --> src/component/week_view.rs:816:15
[INFO] [stderr]     |
[INFO] [stderr] 816 | pub(crate) fn day_total_label(weekday: Weekday) -> String {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_bookings` is never used
[INFO] [stderr]   --> src/loader.rs:76:14
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub async fn load_bookings(
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_slots` is never used
[INFO] [stderr]    --> src/loader.rs:104:14
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub async fn load_slots(
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LoadBillingPeriod` is never constructed
[INFO] [stderr]   --> src/page/billing_period_details.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub enum BillingPeriodDetailsAction {
[INFO] [stderr]    |          -------------------------- variant in this enum
[INFO] [stderr] 22 |     LoadBillingPeriod,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `CopyFromPreviousWeek` and `LoadWeekMessage` are never constructed
[INFO] [stderr]   --> src/page/shiftplan.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub enum ShiftPlanAction {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 66 |     CopyFromPreviousWeek,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 69 |     LoadWeekMessage,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ClearSelection` is never constructed
[INFO] [stderr]   --> src/service/billing_period.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub enum BillingPeriodAction {
[INFO] [stderr]    |          ------------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 40 |     ClearSelection,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BillingPeriodAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Delete` is never constructed
[INFO] [stderr]    --> src/service/employee_work_details.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub enum EmployeeWorkDetailsAction {
[INFO] [stderr]     |          ------------------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 121 |     Delete(Uuid),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `LoadTemplate`, `ClearSelection`, and `ClearFilter` are never constructed
[INFO] [stderr]   --> src/service/text_template.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub enum TextTemplateAction {
[INFO] [stderr]    |          ------------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 37 |     LoadTemplate(Uuid),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     ClearSelection,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 42 |     ClearFilter,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TextTemplateAction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_custom_report` is never used
[INFO] [stderr]    --> src/service/text_template.rs:181:14
[INFO] [stderr]     |
[INFO] [stderr] 181 | pub async fn generate_custom_report(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `STORAGE_KEY` is never used
[INFO] [stderr]  --> src/service/theme.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const STORAGE_KEY: &str = "shifty-theme";
[INFO] [stderr]   |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DARK_MEDIA_QUERY` is never used
[INFO] [stderr]  --> src/service/theme.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const DARK_MEDIA_QUERY: &str = "(prefers-color-scheme: dark)";
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `as_str` is never used
[INFO] [stderr]   --> src/service/theme.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | impl ResolvedTheme {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] 44 |     pub fn as_str(self) -> &'static str {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SystemThemeChanged` is never constructed
[INFO] [stderr]   --> src/service/theme.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub enum ThemeAction {
[INFO] [stderr]    |          ----------- variant in this enum
[INFO] [stderr] 53 |     SetMode(ThemeMode),
[INFO] [stderr] 54 |     SystemThemeChanged(ResolvedTheme),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `SaveSalesPerson`, `LoadAllSalesPersonUserLinks`, `LoadAllUserSalesPersonLinks`, and `LoadAllUserRoles` are never constructed
[INFO] [stderr]    --> src/service/user_management.rs:410:5
[INFO] [stderr]     |
[INFO] [stderr] 403 | pub enum UserManagementAction {
[INFO] [stderr]     |          -------------------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 410 |     SaveSalesPerson,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 426 |     LoadAllSalesPersonUserLinks,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 427 |     LoadAllUserSalesPersonLinks,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 428 |     LoadAllUserRoles,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WorkingSchedule` is never constructed
[INFO] [stderr]   --> src/state/employee.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct WorkingSchedule {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `id` is never used
[INFO] [stderr]    --> src/state/shiftplan.rs:156:8
[INFO] [stderr]     |
[INFO] [stderr] 155 | pub trait Identifiable {
[INFO] [stderr]     |           ------------ method in this trait
[INFO] [stderr] 156 |     fn id(&self) -> Rc<str>;
[INFO] [stderr]     |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `has_sunday_slots` is never used
[INFO] [stderr]    --> src/state/shiftplan.rs:302:12
[INFO] [stderr]     |
[INFO] [stderr] 285 | impl DayAggregate {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 302 |     pub fn has_sunday_slots(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shifty-dioxus` (bin "shifty-dioxus" test) generated 32 warnings (run `cargo fix --bin "shifty-dioxus" -p shifty-dioxus --tests` to apply 8 suggestions)
[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: unused dependency `mockito`
[INFO] [stderr]   --> Cargo.toml:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | mockito = "1.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `mockito`
[INFO] [stderr] warning: unused dependency `tokio-test`
[INFO] [stderr]   --> Cargo.toml:48:1
[INFO] [stderr]    |
[INFO] [stderr] 48 | tokio-test = "0.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tokio-test`
[INFO] [stderr] warning: unused dependency `wasm-bindgen-test`
[INFO] [stderr]   --> Cargo.toml:49:1
[INFO] [stderr]    |
[INFO] [stderr] 49 | wasm-bindgen-test = "0.3"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `wasm-bindgen-test`
[INFO] [stderr] warning: `shifty-dioxus` (manifest) generated 4 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.55s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/shifty-dioxus/cfa0ce9389adfa11/out/shifty_dioxus-cfa0ce9389adfa11)
[INFO] [stdout] 
[INFO] [stdout] running 483 tests
[INFO] [stdout] test base_types::tests::format_hours_one_decimal_handles_negative_zero ... ok
[INFO] [stdout] test base_types::tests::format_hours_preserves_real_positives ... ok
[INFO] [stdout] test base_types::tests::format_hours_zero_renders_without_sign ... ok
[INFO] [stdout] test component::atoms::btn::tests::build_class_disabled_adds_opacity_and_cursor ... ok
[INFO] [stdout] test component::atoms::btn::tests::no_icon_omits_mono_span ... ok
[INFO] [stdout] test component::atoms::btn::tests::renders_danger_variant ... ok
[INFO] [stdout] test component::atoms::btn::tests::disabled_render_includes_disabled_attr_and_classes ... ok
[INFO] [stdout] test component::atoms::btn::tests::icon_renders_in_mono_span_before_children ... ok
[INFO] [stdout] test base_types::tests::format_hours_tiny_negative_rounds_to_positive_zero ... ok
[INFO] [stdout] test component::atoms::btn::tests::renders_primary_variant ... ok
[INFO] [stdout] test component::atoms::btn::tests::variant_classes_primary_has_accent_tokens ... ok
[INFO] [stdout] test component::atoms::btn::tests::renders_ghost_variant ... ok
[INFO] [stdout] test base_types::tests::format_hours_tiny_positive_rounds_to_zero ... ok
[INFO] [stdout] test component::atoms::btn::tests::variant_classes_danger_uses_bad_tokens ... ok
[INFO] [stdout] test base_types::tests::format_hours_preserves_real_negatives ... ok
[INFO] [stdout] test component::atoms::btn::tests::variant_classes_ghost_is_transparent_inksoft ... ok
[INFO] [stdout] test base_types::tests::format_hours_negative_zero_renders_without_sign ... ok
[INFO] [stdout] test base_types::tests::format_hours_zero_decimals_handles_negative_zero ... ok
[INFO] [stdout] test component::atoms::btn::tests::default_variant_is_secondary ... ok
[INFO] [stdout] test component::atoms::btn::tests::build_class_enabled_omits_disabled_classes ... ok
[INFO] [stdout] test component::atoms::btn::tests::build_class_includes_base_classes ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::aria_label_propagates_when_provided ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::build_class_enabled_omits_disabled_classes ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::build_class_includes_size_and_layout ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::renders_glyph_in_button ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::bold_variant_carries_whitespace_nowrap_and_font_semibold ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::non_clickable_omits_cursor_pointer ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::shape_classes_present_in_both_paths ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::without_color_carries_whitespace_nowrap ... ok
[INFO] [stdout] test component::atoms::btn::tests::variant_classes_secondary_has_surface_ink_strong_border ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::aria_label_omitted_when_none ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::without_color_does_not_emit_person_pill_in_html ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::build_class_includes_token_styling ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::build_class_disabled_adds_opacity_and_cursor ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::without_color_uses_dashed_border_and_inksoft ... ok
[INFO] [stdout] test component::atoms::nav_btn::tests::disabled_render_includes_disabled_attr_and_classes ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::bold_adds_font_semibold ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::not_bold_omits_font_semibold ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::label_class_dim_uses_ink_muted ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::bold_variant_emits_font_semibold_in_html ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::clickable_adds_cursor_pointer ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::renders_label_and_value ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::row_class_dim_adds_ink_muted ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::row_class_default_includes_layout_and_border ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::row_class_default_omits_ink_muted ... ok
[INFO] [stdout] test component::base_components::tests::test_parse_time_input_hm ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::description_omitted_when_none ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::with_color_carries_person_pill_class ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::with_color_carries_whitespace_nowrap ... ok
[INFO] [stdout] test component::base_components::tests::test_parse_time_input_hms ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::with_color_does_not_carry_dashed_border ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_active_cell_uses_ink_muted_em_dash ... ok
[INFO] [stdout] test component::base_components::tests::test_parse_time_input_invalid ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::with_color_renders_inline_background ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::description_renders_when_present ... ok
[INFO] [stdout] test component::atoms::tuple_row::tests::label_class_default_uses_ink_soft ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::without_color_does_not_carry_person_pill_class ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_deleted_row_no_line_through ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_deleted_cell_uses_text_bad ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_creator_filter_excludes_null_creators ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_deleted_row_carries_opacity_50 ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_no_bad_soft_badge ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_filter_section_uses_token_surface ... ok
[INFO] [stdout] test component::contract_modal::tests::weekday_pill_active_overrides_weekend_dimming ... ok
[INFO] [stdout] test component::atoms::person_chip::tests::renders_only_name_no_initials ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_renders_em_dash_for_null_created_by ... ok
[INFO] [stdout] test component::contract_modal::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::contract_modal::tests::weekday_pill_inactive_weekday_uses_ink ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::has_sunday_slots_no_sunday ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::has_sunday_slots_none ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::next_day_from_saturday_no_sunday ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::next_day_from_saturday_with_sunday ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::next_day_from_sunday_with_sunday ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::prev_day_from_monday_no_sunday ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::prev_day_from_monday_with_sunday ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::prev_day_from_saturday ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::prev_day_from_tuesday ... ok
[INFO] [stdout] test component::dialog::tests::auto_variant_resolves_to_center_outside_wasm ... ok
[INFO] [stdout] test component::dialog::tests::backdrop_layout_bottom_aligns_to_bottom_full_width ... ok
[INFO] [stdout] test component::contract_modal::tests::weekday_pill_inactive_weekend_is_muted ... ok
[INFO] [stdout] test component::dialog::tests::backdrop_layout_center_centers ... ok
[INFO] [stdout] test component::booking_log_table::tests::booking_log_table_no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::contract_modal::tests::weekday_pill_active_uses_accent_tokens ... ok
[INFO] [stdout] test component::dialog::tests::backdrop_layout_sheet_aligns_right_full_height ... ok
[INFO] [stdout] test component::dialog::tests::is_escape_key_recognises_escape ... ok
[INFO] [stdout] test component::dialog::tests::default_variant_is_auto ... ok
[INFO] [stdout] test component::contract_modal::tests::weekday_pill_includes_layout_classes ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::has_sunday_slots_with_sunday ... ok
[INFO] [stdout] test component::dialog::tests::dialog_root_has_presentation_role_and_modal_panel_has_dialog_role ... ok
[INFO] [stdout] test component::dialog::tests::resolve_variant_auto_picks_center_on_desktop ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::next_day_from_friday ... ok
[INFO] [stdout] test component::dialog::tests::no_subtitle_renders_no_subtitle_div ... ok
[INFO] [stdout] test component::dialog::tests::footer_renders_when_provided ... ok
[INFO] [stdout] test component::day_aggregate_view::tests::next_day_from_monday ... ok
[INFO] [stdout] test component::dialog::tests::backdrop_style_uses_modal_veil_token ... ok
[INFO] [stdout] test component::dialog::tests::panel_style_center_uses_pop_animation_and_width_cap ... ok
[INFO] [stdout] test component::dialog::tests::open_dialog_renders_title_and_close_button ... ok
[INFO] [stdout] test component::contract_modal::tests::closed_modal_renders_nothing ... ok
[INFO] [stdout] test component::employee_short::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::dialog::tests::bottom_variant_renders_drag_handle ... ok
[INFO] [stdout] test component::dialog::tests::panel_style_sheet_adds_60_to_width_and_full_height ... ok
[INFO] [stdout] test component::dialog::tests::panel_style_bottom_full_width_and_top_radius_only ... ok
[INFO] [stdout] test component::employee_short::tests::row_always_reserves_3px_left_border ... ok
[INFO] [stdout] test component::employee_short::tests::color_dot_has_no_inner_text ... ok
[INFO] [stdout] test component::dialog::tests::sheet_variant_uses_slide_right_animation ... ok
[INFO] [stdout] test component::employee_short::tests::hours_use_mono_tabular_nums ... ok
[INFO] [stdout] test component::employee_short::tests::row_class_inactive_carries_transparent_border ... ok
[INFO] [stdout] test component::employee_short::tests::row_renders_color_dot_with_inline_background ... ok
[INFO] [stdout] test component::employee_view::tests::current_week_expected_returns_none_when_today_not_loaded ... ok
[INFO] [stdout] test component::employee_view::tests::current_week_expected_returns_value_when_today_present ... ok
[INFO] [stdout] test component::employee_view::tests::current_week_expected_uses_post_change_value_after_mid_year_contract_change ... ok
[INFO] [stdout] test component::employee_view::tests::extra_hours_category_section_renders_edit_button_with_translation ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::bar_y_proportional_to_value_over_max ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::compute_max_y_floors_to_one_when_all_zero ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::no_hex_color_literals_in_source ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_at_or_above_per_week_expected_uses_accent_token ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_below_per_week_expected_uses_warn_token ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_current_week_is_always_labeled ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::bar_color_token_returns_warn_below_expected ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_no_polyline_when_all_weeks_have_zero_expected ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_per_week_expected_drives_color_independently ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_no_dimming_when_no_selection ... ok
[INFO] [stdout] test component::employee_short::tests::active_row_renders_with_accent_soft_in_html ... ok
[INFO] [stdout] test component::dialog::tests::closed_dialog_renders_nothing ... ok
[INFO] [stdout] test component::employee_short::tests::row_class_active_carries_accent_soft_and_accent_border ... ok
[INFO] [stdout] test component::employee_view::tests::current_week_expected_returns_none_for_empty_weeks ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_label_cadence_every_fourth_week ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_polyline_steps_at_contract_change ... ok
[INFO] [stdout] test component::employee_view::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::bar_color_token_returns_accent_at_or_above_expected ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::compute_max_y_uses_largest_of_overall_or_per_week_expected ... ok
[INFO] [stdout] test component::employee_short::tests::inactive_row_does_not_emit_accent_soft ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_dashed_polyline_present_when_any_week_has_positive_expected ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_renders_one_rect_per_week ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_polyline_drops_to_baseline_on_zero_expected_week ... ok
[INFO] [stdout] test component::atoms::btn::tests::renders_button_with_secondary_classes_by_default ... ok
[INFO] [stdout] test component::employee_weekly_histogram::tests::ssr_selected_bar_full_opacity_others_dimmed ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::category_identifier_for_built_ins ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::category_identifier_for_custom_uses_uuid_prefix ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::parse_category_recognises_built_ins ... ok
[INFO] [stdout] test component::dialog::tests::resolve_variant_passes_through_explicit_variants ... ok
[INFO] [stdout] test component::employees_list::tests::matches_search_substring_match ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::parse_category_recognises_custom_uuid_prefix ... ok
[INFO] [stdout] test component::dialog::tests::resolve_variant_auto_picks_bottom_on_mobile ... ok
[INFO] [stdout] test component::employees_list::tests::target_hours_for_returns_zero_when_no_weeks ... ok
[INFO] [stdout] test component::form::checkbox::tests::checked_attribute_reflects_value_true ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::closed_modal_renders_nothing ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::form::checkbox::tests::input_uses_form_input_class ... ok
[INFO] [stdout] test component::form::checkbox::tests::renders_input_with_type_checkbox ... ok
[INFO] [stdout] test component::form::checkbox::tests::label_slot_renders_alongside_input ... ok
[INFO] [stdout] test component::form::checkbox::tests::disabled_propagates ... ok
[INFO] [stdout] test component::form::checkbox::tests::unchecked_value_omits_checked_attribute ... ok
[INFO] [stdout] test component::form::field::tests::error_preempts_hint ... ok
[INFO] [stdout] test component::dialog::tests::subtitle_renders_when_provided ... ok
[INFO] [stdout] test component::form::field::tests::hint_renders_when_no_error ... ok
[INFO] [stdout] test component::employees_list::tests::matches_search_empty_term_matches_all ... ok
[INFO] [stdout] test component::form::inputs::tests::select_input_renders_select_with_form_input_class ... ok
[INFO] [stdout] test component::form::inputs::tests::select_input_renders_children_options ... ok
[INFO] [stdout] test component::form::inputs::tests::text_input_custom_type_propagates ... ok
[INFO] [stdout] test component::form::field::tests::label_text_appears_in_uppercase_inksoft_class ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::edit_mode_keeps_unknown_custom_category_as_selected_option ... ok
[INFO] [stdout] test component::form::field::tests::renders_label_element ... ok
[INFO] [stdout] test component::form::inputs::tests::text_input_default_type_is_text ... ok
[INFO] [stdout] test component::form::field::tests::no_hint_and_no_error_renders_neither ... ok
[INFO] [stdout] test component::employees_list::tests::matches_search_is_case_insensitive ... ok
[INFO] [stdout] test component::form::inputs::tests::select_input_disabled_propagates ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::edit_mode_omits_vacation_days_option_and_prefills ... ok
[INFO] [stdout] test component::form::inputs::tests::text_input_renders_input_with_form_input_class ... ok
[INFO] [stdout] test component::form::inputs::tests::text_input_placeholder_propagates_when_provided ... ok
[INFO] [stdout] test component::form::inputs::tests::text_input_uses_token_classes ... ok
[INFO] [stdout] test component::form::inputs::tests::textarea_disabled_propagates ... ok
[INFO] [stdout] test component::form::inputs::tests::select_input_has_appearance_none_and_chevron_background ... ok
[INFO] [stdout] test component::form::inputs::tests::text_input_value_attribute_renders ... ok
[INFO] [stdout] test component::form::inputs::tests::textarea_placeholder_propagates_when_provided ... ok
[INFO] [stdout] test component::form::field::tests::no_span_does_not_emit_grid_column ... ok
[INFO] [stdout] test component::form::inputs::tests::textarea_renders_with_form_input_class_and_min_height ... ok
[INFO] [stdout] test component::form::field::tests::span_two_adds_grid_column_span ... ok
[INFO] [stdout] test component::form::inputs::tests::textarea_resizes_vertically_only ... ok
[INFO] [stdout] test component::form::inputs::tests::textarea_value_appears_in_body ... ok
[INFO] [stdout] test component::extra_hours_modal::tests::create_mode_renders_vacation_days_option ... ok
[INFO] [stdout] test component::shiftplan_tab_bar::tests::shiftplan_tab_bar_no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::form::field::tests::error_alone_renders_in_bad_colour ... ok
[INFO] [stdout] test component::form::inputs::tests::text_input_disabled_propagates ... ok
[INFO] [stdout] test component::employees_list::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::shiftplan_tab_bar::tests::active_tab_class_carries_accent_tokens ... ok
[INFO] [stdout] test component::shiftplan_tab_bar::tests::inactive_tab_class_carries_muted_tokens ... ok
[INFO] [stdout] test component::slot_edit::tests::parse_time_accepts_hh_mm_ss ... ok
[INFO] [stdout] test component::slot_edit::tests::parse_time_rejects_garbage ... ok
[INFO] [stdout] test component::shiftplan_tab_bar::tests::tab_classes_have_no_legacy_color_tokens ... ok
[INFO] [stdout] test component::slot_edit::tests::parse_time_accepts_hh_mm ... ok
[INFO] [stdout] test component::top_bar::tests::admin_trigger_active_class_when_admin_route_active_full_user ... ok
[INFO] [stdout] test component::top_bar::tests::admin_trigger_inactive_class_when_top_level_route_active ... ok
[INFO] [stdout] test component::top_bar::tests::burger_glyph_swaps_with_visibility ... ok
[INFO] [stdout] test component::top_bar::tests::hr_admin_user_partitions_into_top_level_and_full_admin_group ... ok
[INFO] [stdout] test component::top_bar::tests::hr_user_admin_group_active_label_for_employee_details_parameterised_route ... ok
[INFO] [stdout] test component::top_bar::tests::is_active_for_my_shifts_my_time_year_overview_templates ... ok
[INFO] [stdout] test component::slot_edit::tests::slot_edit_no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::top_bar::tests::active_admin_label_handles_parameterised_admin_route ... ok
[INFO] [stdout] test component::top_bar::tests::active_admin_label_returns_active_item_label ... ok
[INFO] [stdout] test component::top_bar::tests::admin_panel_item_class_active_uses_accent ... ok
[INFO] [stdout] test component::top_bar::tests::admin_panel_item_class_inactive_uses_ink_and_hover ... ok
[INFO] [stdout] test component::top_bar::tests::is_active_for_employees_matches_details ... ok
[INFO] [stdout] test component::top_bar::tests::is_active_for_shiftplan_matches_both_variants ... ok
[INFO] [stdout] test component::top_bar::tests::logout_url_appends_logout_path_to_backend ... ok
[INFO] [stdout] test component::top_bar::tests::mobile_admin_section_header_class_matches_design_typography ... ok
[INFO] [stdout] test component::top_bar::tests::nav_item_class_active_uses_accent_soft_and_semibold ... ok
[INFO] [stdout] test component::top_bar::tests::nav_item_class_inactive_uses_ink_soft_and_hover ... ok
[INFO] [stdout] test component::top_bar::tests::nav_visibility_admin_shows_user_management_and_templates ... ok
[INFO] [stdout] test component::top_bar::tests::nav_visibility_combined_privileges_union ... ok
[INFO] [stdout] test component::top_bar::tests::nav_visibility_hr_shows_employees_and_billing_periods ... ok
[INFO] [stdout] test component::top_bar::tests::nav_visibility_my_time_requires_paid_and_not_hr ... ok
[INFO] [stdout] test component::top_bar::tests::nav_visibility_no_auth_hides_everything ... ok
[INFO] [stdout] test component::top_bar::tests::nav_visibility_sales_shows_shiftplan_my_shifts_year_overview ... ok
[INFO] [stdout] test component::top_bar::tests::nav_visibility_shiftplanner_shows_shiftplan_year_overview ... ok
[INFO] [stdout] test component::top_bar::tests::partition_nav_items_empty_input ... ok
[INFO] [stdout] test component::top_bar::tests::partition_nav_items_no_admin_only_top_level ... ok
[INFO] [stdout] test component::top_bar::tests::partition_nav_items_only_admin ... ok
[INFO] [stdout] test component::top_bar::tests::partition_nav_items_splits_admin_and_top_level_preserving_order ... ok
[INFO] [stdout] test component::top_bar::tests::sales_only_user_yields_no_admin_group ... ok
[INFO] [stdout] test component::top_bar::tests::theme_aria_label_describes_mode ... ok
[INFO] [stdout] test component::top_bar::tests::theme_glyph_matches_mode ... ok
[INFO] [stdout] test component::top_bar::tests::top_level_partition_excludes_admin_items ... ok
[INFO] [stdout] test component::user_management_tab_bar::tests::active_class_contains_accent_tokens ... ok
[INFO] [stdout] test component::user_management_tab_bar::tests::both_classes_share_layout ... ok
[INFO] [stdout] test component::user_management_tab_bar::tests::inactive_class_contains_transparent_and_inksoft ... ok
[INFO] [stdout] test component::user_management_tab_bar::tests::renders_two_buttons_with_active_sales_persons ... ok
[INFO] [stdout] test component::top_bar::tests::hr_user_admin_group_active_label_is_employees_label_for_employee_route ... ok
[INFO] [stdout] test component::top_bar::tests::is_active_for_unrelated_routes_return_false ... ok
[INFO] [stdout] test component::user_management_tab_bar::tests::user_management_tab_bar_no_legacy_classes ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_background_class_discourage_is_bad_soft ... ok
[INFO] [stdout] test component::top_bar::tests::admin_panel_container_class_matches_design_panel ... ok
[INFO] [stdout] test component::top_bar::tests::is_active_for_user_management_matches_all_three_variants ... ok
[INFO] [stdout] test component::top_bar::tests::is_admin_target_classifies_each_variant ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_background_class_discourage_overrides_missing ... ok
[INFO] [stdout] test component::top_bar::tests::logout_entry_label_uses_provided_label ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_background_class_fully_staffed_is_empty ... ok
[INFO] [stdout] test component::top_bar::tests::active_admin_label_none_when_top_level_route_active ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_background_class_understaffed_is_warn_soft ... ok
[INFO] [stdout] test component::top_bar::tests::hr_user_admin_group_default_label_when_top_level_route_active ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_add_when_cell_empty ... ok
[INFO] [stdout] test component::user_management_tab_bar::tests::renders_two_buttons_with_active_users ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_classes_add_uses_surface_and_strong_border ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_add_when_editing_person_not_in_cell ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_classes_no_legacy_color_tokens ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_classes_none_is_empty ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_classes_remove_uses_bad_tokens ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_dropdown_in_dropdown_mode ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_none_in_none_mode ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_none_when_no_editing_person ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::cell_button_remove_when_editing_person_in_cell ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::min_resources_class_fully_staffed_is_ink_muted ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::min_resources_class_understaffed_is_warn ... ok
[INFO] [stdout] test component::week_view::cell_button_tests::week_view_no_legacy_classes_in_source ... ok
[INFO] [stdout] test component::week_view::week_cell_slot_render_tests::action_button_appears_after_chip_area_in_html_order ... ok
[INFO] [stdout] test component::week_view::week_cell_slot_render_tests::chip_area_contains_one_element_per_booking ... ok
[INFO] [stdout] test component::week_view::week_cell_slot_render_tests::min_resources_span_is_absolutely_positioned_with_pointer_events_none ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::slot_at_half_past_renders_with_top_offset_half_scaling ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::snapped_day_bounds_handles_both_ends_fractional ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::snapped_day_bounds_passes_through_whole_hours ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::snapped_day_bounds_preserves_zero_zero_for_empty_plan ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::time_column_label_count_for_fractional_bounds_equals_eleven ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::axis_label_weeks_are_five_evenly_spaced ... ok
[INFO] [stdout] test component::week_view::week_cell_slot_render_tests::slot_outer_carries_overflow_hidden_and_warn_soft_when_understaffed ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::chart_current_week_full_opacity_others_dimmed ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::body_height_for_fractional_bounds_covers_eleven_whole_hours ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::snapped_day_bounds_floors_fractional_start_and_ceils_fractional_end ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::chart_current_week_uses_accent_others_dimmed_color ... ok
[INFO] [stdout] test component::week_view::week_view_hour_snap_tests::snapped_day_bounds_handles_quarter_hour_minutes ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::chart_no_dim_when_year_does_not_match ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::chart_required_line_uses_bad_token_dashed ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::chart_uses_token_styles_not_legacy_hex ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::chart_volunteer_uses_ink_muted_not_good ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::compute_max_hours_uses_larger_of_bar_or_required ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::compute_max_hours_uses_required_when_larger ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::hours_text_class_at_target_is_good ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::hours_text_class_under_target_is_warn ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::progress_bar_percent_proportional ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::mini_overview_card_renders_color_dot ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::mini_overview_no_legacy_color_classes ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::mini_overview_progress_bar_good_color ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::mini_overview_progress_bar_warn_color ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::mini_overview_selected_card_carries_accent ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::progress_bar_class_under_target ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::progress_bar_class_over_target ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::mini_overview_uses_auto_fit_grid ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::progress_bar_class_at_target ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::mini_overview_show_balance_renders_parenthesized ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::progress_bar_percent_zero_for_zero_actual ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::compute_max_hours_floors_at_ten ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::rows_render_alphabetical_in_both_layouts ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_footer_aggregates_actual_and_target_but_not_balance ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::i18n_week_short_returns_locale_value ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::signed_hours_diff_exact_target_is_plus_zero ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::progress_bar_percent_caps_at_100 ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::signed_hours_diff_negative_carries_minus ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::signed_hours_diff_positive_carries_plus ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_balance_positive_uses_text_good ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_balance_column_is_right_of_utilization ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_balance_negative_uses_text_warn ... ok
[INFO] [stdout] test component::weekly_overview_chart::tests::chart_x_axis_renders_five_locale_labels ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_balance_independent_of_actual_target_diff ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_renders_table_with_thead_tbody_and_total_row ... ok
[INFO] [stdout] test component::working_hours_overview_layout_toggle::tests::active_class_uses_surface_token ... ok
[INFO] [stdout] test component::working_hours_overview_layout_toggle::tests::inactive_class_uses_muted_token ... ok
[INFO] [stdout] test i18n::tests::i18n_redesign_keys_present_in_all_locales ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_selected_row_carries_accent ... ok
[INFO] [stdout] test i18n::tests::shiftplan_delete_confirm_body_interpolates_name ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_uses_balance_key_for_trailing_column_header ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_utilization_renders_progress_bar_and_percent ... ok
[INFO] [stdout] test component::working_hours_overview_layout_toggle::tests::toggle_active_table_marks_table_button_active ... ok
[INFO] [stdout] test component::working_hours_overview_layout_toggle::tests::toggle_buttons_are_type_button ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::table_layout_wires_ondoubleclick_in_source ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::working_hours_mini_overview_no_legacy_classes_in_source ... ok
[INFO] [stdout] test i18n::tests::i18n_employees_keys_present_in_all_locales ... ok
[INFO] [stdout] test i18n::tests::i18n_user_management_keys_present_in_all_locales ... ok
[INFO] [stdout] test component::working_hours_mini_overview::tests::progress_bar_percent_zero_for_zero_target ... ok
[INFO] [stdout] test component::working_hours_overview_layout_toggle::tests::toggle_active_cards_marks_cards_button_active ... ok
[INFO] [stdout] test i18n::tests::i18n_employees_keys_match_german_reference ... ok
[INFO] [stdout] test i18n::tests::shiftplan_filled_of_need_substitutes_placeholders ... ok
[INFO] [stdout] test loader::working_hours_mini_loader_tests::working_hours_mini_loader_falls_back_to_gray_when_color_empty ... ok
[INFO] [stdout] test loader::working_hours_mini_loader_tests::working_hours_mini_loader_populates_color_from_sales_person ... ok
[INFO] [stdout] test loader::working_hours_mini_loader_tests::working_hours_mini_loader_uses_balance_when_present ... ok
[INFO] [stdout] test loader::working_hours_mini_loader_tests::working_hours_mini_loader_zero_balance_when_missing ... ok
[INFO] [stdout] test page::employees::tests::no_billing_period_content_in_source ... ok
[INFO] [stdout] test page::billing_period_details::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test page::employees::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test page::my_shifts::tests::block_hours_for_two_hours ... ok
[INFO] [stdout] test page::billing_periods::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test page::employee_details::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test page::my_shifts::tests::build_week_display_label_contains_week_and_dates ... ok
[INFO] [stdout] test page::my_shifts::tests::block_hours_for_four_and_a_half ... ok
[INFO] [stdout] test page::my_shifts::tests::build_week_display_two_blocks_one_day_sums ... ok
[INFO] [stdout] test page::my_shifts::tests::day_row_empty_renders_em_dash_and_zero_hours ... ok
[INFO] [stdout] test page::my_shifts::tests::format_hours_one_decimal ... ok
[INFO] [stdout] test page::my_shifts::tests::format_time_range_uses_en_dash ... ok
[INFO] [stdout] test page::my_shifts::tests::group_blocks_by_week_groups_per_year_week_pair ... ok
[INFO] [stdout] test page::my_shifts::tests::day_row_with_shifts_renders_each ... ok
[INFO] [stdout] test page::my_shifts::tests::group_blocks_by_week_omits_empty_keys ... ok
[INFO] [stdout] test page::my_shifts::tests::shift_item_renders_time_range_and_person_chip ... ok
[INFO] [stdout] test page::my_shifts::tests::shift_item_without_sales_person_uses_dashed_chip ... ok
[INFO] [stdout] test page::my_shifts::tests::source_does_not_use_legacy_gray_classes ... ok
[INFO] [stdout] test page::my_shifts::tests::sum_hours_aggregates_blocks ... ok
[INFO] [stdout] test page::text_template_management::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test page::user_management::tests::add_user_dialog_closed_renders_nothing ... ok
[INFO] [stdout] test page::user_management::tests::delete_user_confirm_dialog_closed_renders_nothing ... ok
[INFO] [stdout] test page::my_shifts::tests::week_card_renders_header_and_seven_day_rows ... ok
[INFO] [stdout] test page::shiftplan::tests::shiftplan_page_no_legacy_classes_in_source ... ok
[INFO] [stdout] test page::shiftplan::tests::shiftplan_page_wires_working_hours_layout_persistence ... ok
[INFO] [stdout] test page::user_management::tests::matches_search_empty_term_matches_all ... ok
[INFO] [stdout] test page::user_management::tests::matches_search_is_case_insensitive ... ok
[INFO] [stdout] test page::user_management::tests::no_legacy_classes_in_source ... ok
[INFO] [stdout] test page::user_management::tests::delete_user_confirm_dialog_open_interpolates_username_and_has_danger_button ... ok
[INFO] [stdout] test page::user_management::tests::sales_person_tab_color_dot_has_no_inner_text ... ok
[INFO] [stdout] test page::user_management::tests::sales_person_tab_inactive_row_has_opacity_and_pill ... ok
[INFO] [stdout] test page::user_management::tests::sales_person_tab_unlinked_renders_dash ... ok
[INFO] [stdout] test page::user_management::tests::sales_person_tab_renders_four_columns ... ok
[INFO] [stdout] test page::user_management::tests::users_tab_empty_roles_show_dash ... ok
[INFO] [stdout] test page::weekly_overview::tests::diff_color_and_sign_returns_warn_for_deficit ... ok
[INFO] [stdout] test page::user_management::tests::sales_person_tab_search_filters_case_insensitive ... ok
[INFO] [stdout] test page::weekly_overview::tests::diff_color_and_sign_returns_warn_for_large_deficit ... ok
[INFO] [stdout] test page::user_management::tests::users_tab_linked_sales_person_renders_dot_and_name ... ok
[INFO] [stdout] test page::weekly_overview::tests::diff_color_and_sign_returns_ink_for_zero ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_uses_navbtn_for_year_nav ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_absences_row_uses_tokens_and_no_tint ... ok
[INFO] [stdout] test page::user_management::tests::users_tab_roles_render_as_chips ... ok
[INFO] [stdout] test page::user_management::tests::users_tab_renders_four_columns_no_status ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_source_does_not_use_legacy_classes ... ok
[INFO] [stdout] test page::user_management::tests::users_tab_search_filters_case_insensitive ... ok
[INFO] [stdout] test page::user_management::tests::add_user_dialog_open_renders_field_and_buttons ... ok
[INFO] [stdout] test page::weekly_overview::tests::row_class_returns_accent_soft_for_current ... ok
[INFO] [stdout] test service::employee::tests::build_update_payload_carries_identity_from_editing_snapshot ... ok
[INFO] [stdout] test service::employee::tests::bump_employees_list_refresh_increments_observable_signal ... ok
[INFO] [stdout] test service::theme::tests::cycle_theme_transitions ... ok
[INFO] [stdout] test service::theme::tests::resolve_theme_dark_mode ... ok
[INFO] [stdout] test service::theme::tests::resolve_theme_light_mode ... ok
[INFO] [stdout] test service::theme::tests::resolve_theme_system_mode ... ok
[INFO] [stdout] test service::theme::tests::theme_mode_round_trip ... ok
[INFO] [stdout] test service::ui_prefs::tests::default_is_cards ... ok
[INFO] [stdout] test service::ui_prefs::tests::non_wasm_get_returns_default ... ok
[INFO] [stdout] test service::ui_prefs::tests::non_wasm_set_does_not_panic ... ok
[INFO] [stdout] test service::ui_prefs::tests::parses_cards ... ok
[INFO] [stdout] test service::ui_prefs::tests::parses_table ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_table_different_year_shows_full_year ... ok
[INFO] [stdout] test service::user_management::tests::partition_results_empty_yields_empty_map ... ok
[INFO] [stdout] test service::user_management::tests::partition_results_keeps_ok_entries ... ok
[INFO] [stdout] test service::user_management::tests::partition_results_supports_imstr_keys ... ok
[INFO] [stdout] test state::employee_work_details::working_hours_mini_tests::working_hours_mini_default_background_color_is_neutral_gray ... ok
[INFO] [stdout] test state::text_template::tests::test_create_request_to_engine_serialization ... ok
[INFO] [stdout] test state::text_template::tests::test_template_engine_from_to_minijinja ... ok
[INFO] [stdout] test service::ui_prefs::tests::storage_key_is_namespaced ... ok
[INFO] [stdout] test state::text_template::tests::test_template_engine_from_to_tera ... ok
[INFO] [stdout] test service::ui_prefs::tests::round_trip_via_as_str ... ok
[INFO] [stdout] test service::ui_prefs::tests::unknown_value_returns_none ... ok
[INFO] [stdout] test service::user_management::tests::partition_results_keys_match_input ... ok
[INFO] [stdout] test page::weekly_overview::tests::diff_color_and_sign_returns_good_for_surplus ... ok
[INFO] [stdout] test state::text_template::tests::test_template_engine_to_serde_minijinja ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_table_uses_token_classes ... ok
[INFO] [stdout] test service::user_management::tests::partition_results_skips_err_entries_but_keeps_others ... ok
[INFO] [stdout] test state::text_template::tests::test_template_engine_to_serde_roundtrip ... ok
[INFO] [stdout] test state::text_template::tests::test_text_template_from_to ... ok
[INFO] [stdout] test state::text_template::tests::test_text_template_to_deserialize_without_engine_defaults_to_tera ... ok
[INFO] [stdout] test state::text_template::tests::test_text_template_to_with_engine_json_roundtrip ... ok
[INFO] [stdout] test state::text_template::tests::test_to_create_request_includes_engine ... ok
[INFO] [stdout] test state::text_template::tests::test_to_update_request_includes_engine ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_current_row_has_accent_soft_tint ... ok
[INFO] [stdout] test state::text_template::tests::test_update_request_to_engine_serialization ... ok
[INFO] [stdout] test tests::delete_billing_period_tests::test_confirm_delete_billing_period_has_period_placeholder ... ok
[INFO] [stdout] test tests::delete_billing_period_tests::test_delete_error_has_error_placeholder ... ok
[INFO] [stdout] test tests::delete_billing_period_tests::test_hr_privilege_visibility ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_error_display ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_result_handler_error ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_error_debug ... ok
[INFO] [stdout] test state::text_template::tests::test_template_engine_to_serde_tera ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_result_handler_with_different_types ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_service_error_propagation ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_result_handler_success ... ok
[INFO] [stdout] test tests::delete_billing_period_tests::test_delete_billing_period_i18n_keys_all_locales ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_shifty_error_variants ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_date_boundary_errors ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_diff_column_two_tier_colors ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_time_component_range_error ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_uuid_error_scenarios ... ok
[INFO] [stdout] test page::weekly_overview::tests::page_table_renders_all_provided_weeks ... ok
[INFO] [stdout] test tests::error_tests::error_handling_tests::test_week_date_errors ... ok
[INFO] [stdout] test tests::invitation_tests::test_actual_invitation_response_format ... ok
[INFO] [stdout] test tests::invitation_tests::test_backend_response_formats ... ok
[INFO] [stdout] test tests::invitation_tests::test_invitation_deserialization_no_redeemed_at ... ok
[INFO] [stdout] test tests::invitation_tests::test_exact_backend_response ... ok
[INFO] [stdout] test tests::service_tests::test_text_template_store_default ... ok
[INFO] [stdout] test tests::i18n_tests::test_date_formatting_structure ... ok
[INFO] [stdout] test tests::i18n_tests::test_locale_variants ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_empty_shiftplan_when_no_selection ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_non_empty_catalog_auto_selects_first ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_user_privilege_escalation_prevention ... ok
[INFO] [stdout] test tests::i18n_tests::test_i18n_creation ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_multilingual_application_flow ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_shiftplan_to_list_deserialization ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_slot_edit_item_from_slot_to_none_shiftplan_id ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_shiftplan_to_deserialization ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_slot_edit_item_from_slot_to_preserves_shiftplan_id ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_slot_edit_item_from_slot_to_with_shiftplan_id ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_week_boundary_edge_cases ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_slot_to_from_slot_edit_item_with_shiftplan_id ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_slot_edit_item_roundtrip_preserves_shiftplan_id ... ok
[INFO] [stdout] test tests::unit_tests::test_auth_info_default ... ok
[INFO] [stdout] test tests::unit_tests::test_config_creation ... ok
[INFO] [stdout] test tests::unit_tests::test_auth_info_with_privileges ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_empty_catalog_deserialization ... ok
[INFO] [stdout] test tests::unit_tests::test_config_default ... ok
[INFO] [stdout] test tests::service_tests::test_billing_period_store_default ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_empty_catalog_no_auto_selection ... ok
[INFO] [stdout] test tests::utils_tests::test_date_validation ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_empty_shiftplan_min_max_hour_no_overflow ... ok
[INFO] [stdout] test tests::service_tests::test_text_template_creation ... ok
[INFO] [stdout] test tests::utils_tests::test_error_result_handler ... ok
[INFO] [stdout] test tests::shiftplan_catalog_tests::test_shiftplan_to_deserialization_with_defaults ... ok
[INFO] [stdout] test tests::utils_tests::test_uuid_generation ... ok
[INFO] [stdout] test tests::utils_tests::test_year_week_ranges_mock ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_week_calculation_with_i18n ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_authenticated_user_workflow ... ok
[INFO] [stdout] test tests::volunteer_work_tests::employee_work_details_cap_tests::try_from_state_propagates_cap_true ... ok
[INFO] [stdout] test tests::volunteer_work_tests::employee_work_details_cap_tests::try_from_to_propagates_cap_true ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_mapping_tests::employee_picks_up_volunteer_hours_from_full_report ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_mapping_tests::employee_defaults_volunteer_hours_to_zero_for_short_report ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_mapping_tests::working_hours_picks_up_volunteer_hours_from_to ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_error_recovery_workflow ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_creation_and_properties ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_template_management_workflow ... ok
[INFO] [stdout] test tests::integration_tests::integration_tests::test_production_vs_development_workflow ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_category_tests::volunteer_work_converts_from_extra_hours_report_category_to ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_different_years ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_invalid_week_number ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_zero_week ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_mid_year ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_monday_calculation ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_category_tests::from_identifier_volunteer_work_yields_variant ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_category_tests::volunteer_work_identifier_is_volunteer_work ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_category_tests::volunteer_work_round_trips_through_extra_hours_category_to ... ok
[INFO] [stdout] test tests::volunteer_work_tests::working_hours_category_tests::is_volunteer_work_only_matches_volunteer_work ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_year_boundary ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_sunday_calculation ... ok
[INFO] [stdout] test tests::week_tests::week_tests::test_week_consistency ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 483 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019", kill_on_drop: false }`
[INFO] [stdout] a27d90bf4361d85eb6485c7fe00d3b0846990e68a0000aba38b06f77da92c019
