[INFO] cloning repository https://github.com/x0BiNbo/Mouse-Clicker
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/x0BiNbo/Mouse-Clicker" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fx0BiNbo%2FMouse-Clicker", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fx0BiNbo%2FMouse-Clicker'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 613284188c4b4bd18156fc16df691a6eb3c51cd7
[INFO] checking x0BiNbo/Mouse-Clicker against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fx0BiNbo%2FMouse-Clicker" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/x0BiNbo/Mouse-Clicker
[INFO] finished tweaking git repo https://github.com/x0BiNbo/Mouse-Clicker
[INFO] tweaked toml for git repo https://github.com/x0BiNbo/Mouse-Clicker written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/x0BiNbo/Mouse-Clicker on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/x0BiNbo/Mouse-Clicker 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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 80ca85522b390d33486a2119bf191c7b92bc7f0fb2f9e62d713f3807c31999a6
[INFO] running `Command { std: "docker" "start" "-a" "80ca85522b390d33486a2119bf191c7b92bc7f0fb2f9e62d713f3807c31999a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80ca85522b390d33486a2119bf191c7b92bc7f0fb2f9e62d713f3807c31999a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80ca85522b390d33486a2119bf191c7b92bc7f0fb2f9e62d713f3807c31999a6", kill_on_drop: false }`
[INFO] [stdout] 80ca85522b390d33486a2119bf191c7b92bc7f0fb2f9e62d713f3807c31999a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bc8de846a1042d9f882bfbc9a73c0f26641720bd0371d7ef9ffed58cacc79425
[INFO] running `Command { std: "docker" "start" "-a" "bc8de846a1042d9f882bfbc9a73c0f26641720bd0371d7ef9ffed58cacc79425", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling winnow v0.7.6
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking wayland-sys v0.31.6
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling quick-xml v0.37.4
[INFO] [stderr]    Compiling wayland-client v0.31.8
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]    Compiling wayland-backend v0.3.8
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]     Checking endi v1.1.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking nix v0.29.0
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling xml-rs v0.8.26
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking immutable-chunkmap v2.0.6
[INFO] [stderr]    Compiling winit v0.30.9
[INFO] [stderr]     Checking epaint_default_fonts v0.31.1
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking accesskit_consumer v0.26.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling windows_x86_64_gnu v0.52.6
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling glutin v0.32.2
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling mime_guess2 v2.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling enumflags2_derive v0.7.11
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking async-io v2.4.0
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking wayland-protocols v0.32.6
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking wayland-cursor v0.31.8
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking windows-targets v0.52.6
[INFO] [stderr]     Checking arboard v3.5.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking enumflags2 v0.7.11
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]    Compiling enigo v0.1.3
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.6
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.6
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking webbrowser v1.0.4
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking egui_glow v0.31.1
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking windows-core v0.52.0
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking windows v0.52.0
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking egui_extras v0.31.1
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.10.1
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.13.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking egui-winit v0.31.1
[INFO] [stderr]     Checking eframe v0.31.1
[INFO] [stderr]     Checking mouse v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Visuals`
[INFO] [stdout]  --> src/gui/app.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use egui::{Context, RichText, Visuals};
[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: `Enigo`
[INFO] [stdout]  --> src/gui/views/area_view.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use enigo::{Enigo, MouseControllable};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Visuals`
[INFO] [stdout]  --> src/gui/app.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use egui::{Context, RichText, Visuals};
[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: `Enigo`
[INFO] [stdout]  --> src/gui/views/area_view.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use enigo::{Enigo, MouseControllable};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color32`
[INFO] [stdout]  --> src/gui/views/stats_view.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Ui, Color32, Stroke, Vec2, Pos2, RichText};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::theme::AppTheme`
[INFO] [stdout]  --> src/gui/views/stats_view.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::gui::theme::AppTheme;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::epaint::CornerRadius`
[INFO] [stdout]  --> src/gui/views/image_view.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::epaint::CornerRadius;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color32`
[INFO] [stdout]  --> src/gui/views/stats_view.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use egui::{Ui, Color32, Stroke, Vec2, Pos2, RichText};
[INFO] [stdout]   |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::theme::AppTheme`
[INFO] [stdout]  --> src/gui/views/stats_view.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::gui::theme::AppTheme;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::epaint::CornerRadius`
[INFO] [stdout]  --> src/gui/views/image_view.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::epaint::CornerRadius;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Margin`
[INFO] [stdout]  --> src/gui/theme.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::epaint::{CornerRadius, Margin};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ui` and `self`
[INFO] [stdout]  --> src/gui/animations.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use eframe::egui::{self, Color32, Ui, Vec2, Pos2};
[INFO] [stdout]   |                    ^^^^           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Margin`
[INFO] [stdout]  --> src/gui/theme.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::epaint::{CornerRadius, Margin};
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ui` and `self`
[INFO] [stdout]  --> src/gui/animations.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use eframe::egui::{self, Color32, Ui, Vec2, Pos2};
[INFO] [stdout]   |                    ^^^^           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/area_view.rs:279:60
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 painter.rect_stroke(rect, 0.0, Stroke::new(2.0, Color32::GREEN), egui::epaint::StrokeKind::Middle);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/area_view.rs:307:68
[INFO] [stdout]     |
[INFO] [stdout] 307 |                         painter.rect_stroke(rect, 0.0, Stroke::new(2.0, color), egui::epaint::StrokeKind::Middle);
[INFO] [stdout]     |                                                                    ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/area_view.rs:326:64
[INFO] [stdout]     |
[INFO] [stdout] 326 |                     painter.rect_stroke(rect, 0.0, Stroke::new(1.0, Color32::RED), egui::epaint::StrokeKind::Middle);
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/area_view.rs:279:60
[INFO] [stdout]     |
[INFO] [stdout] 279 |                 painter.rect_stroke(rect, 0.0, Stroke::new(2.0, Color32::GREEN), egui::epaint::StrokeKind::Middle);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/area_view.rs:307:68
[INFO] [stdout]     |
[INFO] [stdout] 307 |                         painter.rect_stroke(rect, 0.0, Stroke::new(2.0, color), egui::epaint::StrokeKind::Middle);
[INFO] [stdout]     |                                                                    ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/area_view.rs:326:64
[INFO] [stdout]     |
[INFO] [stdout] 326 |                     painter.rect_stroke(rect, 0.0, Stroke::new(1.0, Color32::RED), egui::epaint::StrokeKind::Middle);
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/stats_view.rs:141:43
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let grid_stroke = Stroke::new(0.5, theme.border);
[INFO] [stdout]     |                                           ^^^ help: explicitly specify the type as `f32`: `0.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/stats_view.rs:163:43
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let axis_stroke = Stroke::new(1.5, theme.border);
[INFO] [stdout]     |                                           ^^^ help: explicitly specify the type as `f32`: `1.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/stats_view.rs:212:41
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...                   Stroke::new(2.5, theme.primary)
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/stats_view.rs:141:43
[INFO] [stdout]     |
[INFO] [stdout] 141 |             let grid_stroke = Stroke::new(0.5, theme.border);
[INFO] [stdout]     |                                           ^^^ help: explicitly specify the type as `f32`: `0.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/stats_view.rs:163:43
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let axis_stroke = Stroke::new(1.5, theme.border);
[INFO] [stdout]     |                                           ^^^ help: explicitly specify the type as `f32`: `1.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/stats_view.rs:212:41
[INFO] [stdout]     |
[INFO] [stdout] 212 | ...                   Stroke::new(2.5, theme.primary)
[INFO] [stdout]     |                                   ^^^ help: explicitly specify the type as `f32`: `2.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/image_view.rs:127:74
[INFO] [stdout]     |
[INFO] [stdout] 127 | ...   painter.rect_stroke(rect, 0.0, egui::Stroke::new(2.0, egui::Color32::from_rgb(255, 165, 0)), egui::StrokeKind::Middle);
[INFO] [stdout]     |                                                        ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/image_view.rs:127:74
[INFO] [stdout]     |
[INFO] [stdout] 127 | ...   painter.rect_stroke(rect, 0.0, egui::Stroke::new(2.0, egui::Color32::from_rgb(255, 165, 0)), egui::StrokeKind::Middle);
[INFO] [stdout]     |                                                        ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/image_view.rs:308:49
[INFO] [stdout]     |
[INFO] [stdout] 308 | ...                   .stroke(Stroke::new(1.0, if is_selected { theme.primary } else { theme.border }))
[INFO] [stdout]     |                                           ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/image_view.rs:308:49
[INFO] [stdout]     |
[INFO] [stdout] 308 | ...                   .stroke(Stroke::new(1.0, if is_selected { theme.primary } else { theme.border }))
[INFO] [stdout]     |                                           ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/image_view.rs:722:59
[INFO] [stdout]     |
[INFO] [stdout] 722 | ...                   .stroke(egui::Stroke::new(1.0, theme.border));
[INFO] [stdout]     |                                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/views/image_view.rs:722:59
[INFO] [stdout]     |
[INFO] [stdout] 722 | ...                   .stroke(egui::Stroke::new(1.0, theme.border));
[INFO] [stdout]     |                                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:139:70
[INFO] [stdout]     |
[INFO] [stdout] 139 |         style.visuals.widgets.noninteractive.fg_stroke = Stroke::new(1.0, self.text);
[INFO] [stdout]     |                                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:142:64
[INFO] [stdout]     |
[INFO] [stdout] 142 |         style.visuals.widgets.inactive.fg_stroke = Stroke::new(1.0, self.text);
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:145:63
[INFO] [stdout]     |
[INFO] [stdout] 145 |         style.visuals.widgets.hovered.fg_stroke = Stroke::new(1.5, self.text);
[INFO] [stdout]     |                                                               ^^^ help: explicitly specify the type as `f32`: `1.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:148:62
[INFO] [stdout]     |
[INFO] [stdout] 148 |         style.visuals.widgets.active.fg_stroke = Stroke::new(2.0, self.primary);
[INFO] [stdout]     |                                                              ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:151:60
[INFO] [stdout]     |
[INFO] [stdout] 151 |         style.visuals.widgets.open.fg_stroke = Stroke::new(2.0, self.primary);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:155:54
[INFO] [stdout]     |
[INFO] [stdout] 155 |         style.visuals.selection.stroke = Stroke::new(1.0, self.primary);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |         .stroke(Stroke::new(1.0, self.primary_dark))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:183:29
[INFO] [stdout]     |
[INFO] [stdout] 183 |         .stroke(Stroke::new(1.0, self.secondary))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:139:70
[INFO] [stdout]     |
[INFO] [stdout] 139 |         style.visuals.widgets.noninteractive.fg_stroke = Stroke::new(1.0, self.text);
[INFO] [stdout]     |                                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:195:29
[INFO] [stdout]     |
[INFO] [stdout] 195 |         .stroke(Stroke::new(1.0, self.accent))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:142:64
[INFO] [stdout]     |
[INFO] [stdout] 142 |         style.visuals.widgets.inactive.fg_stroke = Stroke::new(1.0, self.text);
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:145:63
[INFO] [stdout]     |
[INFO] [stdout] 145 |         style.visuals.widgets.hovered.fg_stroke = Stroke::new(1.5, self.text);
[INFO] [stdout]     |                                                               ^^^ help: explicitly specify the type as `f32`: `1.5_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:148:62
[INFO] [stdout]     |
[INFO] [stdout] 148 |         style.visuals.widgets.active.fg_stroke = Stroke::new(2.0, self.primary);
[INFO] [stdout]     |                                                              ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:151:60
[INFO] [stdout]     |
[INFO] [stdout] 151 |         style.visuals.widgets.open.fg_stroke = Stroke::new(2.0, self.primary);
[INFO] [stdout]     |                                                            ^^^ help: explicitly specify the type as `f32`: `2.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:205:33
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .stroke(Stroke::new(1.0, self.border))
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:155:54
[INFO] [stdout]     |
[INFO] [stdout] 155 |         style.visuals.selection.stroke = Stroke::new(1.0, self.primary);
[INFO] [stdout]     |                                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |             .stroke(Stroke::new(1.0, self.border))
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |         .stroke(Stroke::new(1.0, self.primary_dark))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 |             .stroke(Stroke::new(1.0, self.border))
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:183:29
[INFO] [stdout]     |
[INFO] [stdout] 183 |         .stroke(Stroke::new(1.0, self.secondary))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:195:29
[INFO] [stdout]     |
[INFO] [stdout] 195 |         .stroke(Stroke::new(1.0, self.accent))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:205:33
[INFO] [stdout]     |
[INFO] [stdout] 205 |             .stroke(Stroke::new(1.0, self.border))
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |             .stroke(Stroke::new(1.0, self.border))
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/theme.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 |             .stroke(Stroke::new(1.0, self.border))
[INFO] [stdout]     |                                 ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/gui/components.rs:88:29
[INFO] [stdout]    |
[INFO] [stdout] 88 |         .stroke(Stroke::new(1.0, bg_color))
[INFO] [stdout]    |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/components.rs:116:62
[INFO] [stdout]     |
[INFO] [stdout] 116 |         style.visuals.widgets.active.fg_stroke = Stroke::new(1.0, Color32::WHITE); // Checkmark
[INFO] [stdout]     |                                                              ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/gui/components.rs:88:29
[INFO] [stdout]    |
[INFO] [stdout] 88 |         .stroke(Stroke::new(1.0, bg_color))
[INFO] [stdout]    |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/components.rs:147:62
[INFO] [stdout]     |
[INFO] [stdout] 147 |         style.visuals.widgets.active.fg_stroke = Stroke::new(1.0, theme.primary_light); // Handle outline
[INFO] [stdout]     |                                                              ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/components.rs:116:62
[INFO] [stdout]     |
[INFO] [stdout] 116 |         style.visuals.widgets.active.fg_stroke = Stroke::new(1.0, Color32::WHITE); // Checkmark
[INFO] [stdout]     |                                                              ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/components.rs:147:62
[INFO] [stdout]     |
[INFO] [stdout] 147 |         style.visuals.widgets.active.fg_stroke = Stroke::new(1.0, theme.primary_light); // Handle outline
[INFO] [stdout]     |                                                              ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/components.rs:206:29
[INFO] [stdout]     |
[INFO] [stdout] 206 |         .stroke(Stroke::new(1.0, theme.border))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> src/gui/components.rs:206:29
[INFO] [stdout]     |
[INFO] [stdout] 206 |         .stroke(Stroke::new(1.0, theme.border))
[INFO] [stdout]     |                             ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gui/app.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |             let mut state = self.state.lock().unwrap();
[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/gui/app.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 135 |             let mut state = self.state.lock().unwrap();
[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/gui/components.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut slider = egui::Slider::new(value, range)
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gui/components.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut slider = egui::Slider::new(value, range)
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/modules/config.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Config {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 136 |     pub fn new(profile_name: &str) -> Self {
[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 `print_banner` is never used
[INFO] [stdout]   --> src/modules/ui.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn print_banner() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_summary` is never used
[INFO] [stdout]   --> src/modules/ui.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn print_summary(start_time: Instant, click_count: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_screen` is never used
[INFO] [stdout]   --> src/modules/ui.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn clear_screen() -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_validated_input` is never used
[INFO] [stdout]   --> src/modules/input.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn get_validated_input(min: i32, max: i32) -> Result<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_keyboard_handler` is never used
[INFO] [stdout]   --> src/modules/input.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn spawn_keyboard_handler(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_timed_pause` is never used
[INFO] [stdout]   --> src/modules/input.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn handle_timed_pause(is_paused: &AtomicBool) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_duration` is never used
[INFO] [stdout]   --> src/modules/input.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn parse_duration(s: &str) -> Result<Duration> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_profile` and `create_default_profile` are never used
[INFO] [stdout]   --> src/modules/profiles.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ProfileManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn save_profile(&self, config: &Config) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn create_default_profile(&self) -> Result<Config> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_target`, `create_target_from_screenshot`, `find_on_screen`, `get_targets`, and `delete_target` are never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl ImageLibrary {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn save_target(&self, target: &TargetImage) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn create_target_from_screenshot(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn find_on_screen(&self, target_id: &str) -> Result<Option<(i32, i32)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn get_targets(&self) -> &[TargetImage] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn delete_target(&mut self, target_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_template` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:221:4
[INFO] [stdout]     |
[INFO] [stdout] 221 | fn find_template(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_to_image` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn base64_to_image(base64_data: &str) -> Result<DynamicImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `image_to_base64` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:399:8
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub fn image_to_base64(image: &DynamicImage) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `capture_screen` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub fn capture_screen() -> Result<RgbaImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `capture_screen_area` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:514:8
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub fn capture_screen_area(x: i32, y: i32, width: u32, height: u32) -> Result<RgbaImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Running` is never constructed
[INFO] [stdout]   --> src/gui/app.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum AppView {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Running,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppView` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `profiles_dir` is never read
[INFO] [stdout]   --> src/gui/app.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct AppState {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub profiles_dir: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `image_view` is never read
[INFO] [stdout]   --> src/gui/app.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct MouseClickerApp {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     image_view: ImageView,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/gui/views/image_view.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ImageView {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 13 |     state: Arc<Mutex<AppState>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     image_library: Arc<Mutex<ImageLibrary>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 15 |     selected_target_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     screenshot_area: Option<(i32, i32, u32, u32)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     is_selecting_area: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     selection_start: Option<egui::Pos2>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     preview_texture: Option<TextureHandle>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     screen_texture: Option<TextureHandle>,  // Added for screen capture
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     target_textures: HashMap<String, TextureHandle>,  // Store textures for each target
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     last_search_result: Option<(i32, i32)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     last_search_time: Option<Instant>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ui`, `target_list_ui`, `target_details_ui`, `capture_area_ui`, and `preview_ui` are never used
[INFO] [stdout]    --> src/gui/views/image_view.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl ImageView {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn target_list_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 448 |     fn target_details_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     fn capture_area_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 773 |     fn preview_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_running` and `is_paused` are never used
[INFO] [stdout]    --> src/gui/clicker.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl ClickerThread {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn is_paused(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/modules/config.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Config {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 136 |     pub fn new(profile_name: &str) -> Self {
[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 `print_banner` is never used
[INFO] [stdout]   --> src/modules/ui.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn print_banner() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `primary_light`, `error`, and `animation_duration` are never read
[INFO] [stdout]   --> src/gui/theme.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct AppTheme {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  9 |     pub primary_light: Color32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub error: Color32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub animation_duration: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppTheme` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_summary` is never used
[INFO] [stdout]   --> src/modules/ui.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn print_summary(start_time: Instant, click_count: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_screen` is never used
[INFO] [stdout]   --> src/modules/ui.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn clear_screen() -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `spacing_large` and `icon_size` are never used
[INFO] [stdout]    --> src/gui/theme.rs:242:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl AppTheme {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn spacing_large(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn icon_size(&self) -> Vec2 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_validated_input` is never used
[INFO] [stdout]   --> src/modules/input.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn get_validated_input(min: i32, max: i32) -> Result<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subsection_header` is never used
[INFO] [stdout]   --> src/gui/components.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn subsection_header(ui: &mut Ui, theme: &AppTheme, text: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tooltip` is never used
[INFO] [stdout]   --> src/gui/components.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn tooltip(ui: &mut Ui, theme: &AppTheme, text: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_keyboard_handler` is never used
[INFO] [stdout]   --> src/modules/input.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn spawn_keyboard_handler(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_message` is never used
[INFO] [stdout]   --> src/gui/components.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn status_message(ui: &mut Ui, theme: &AppTheme, text: &str, message_type: StatusMessageType) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_timed_pause` is never used
[INFO] [stdout]   --> src/modules/input.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn handle_timed_pause(is_paused: &AtomicBool) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_duration` is never used
[INFO] [stdout]   --> src/modules/input.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn parse_duration(s: &str) -> Result<Duration> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatusMessageType` is never used
[INFO] [stdout]   --> src/gui/components.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum StatusMessageType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_profile` and `create_default_profile` are never used
[INFO] [stdout]   --> src/modules/profiles.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ProfileManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn save_profile(&self, config: &Config) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn create_default_profile(&self) -> Result<Config> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle` is never used
[INFO] [stdout]    --> src/gui/components.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn toggle(ui: &mut Ui, theme: &AppTheme, label: &str, value: &mut bool) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slider` is never used
[INFO] [stdout]    --> src/gui/components.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn slider<T>(ui: &mut Ui, theme: &AppTheme, label: &str, value: &mut T, range: std::ops::RangeInclusive<T>) -> bool
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dropdown` is never used
[INFO] [stdout]    --> src/gui/components.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn dropdown<T>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration` is never read
[INFO] [stdout]  --> src/gui/animations.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Animation {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 6 |     start_time: Instant,
[INFO] [stdout] 7 |     duration: Duration,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_target`, `create_target_from_screenshot`, `find_on_screen`, `get_targets`, and `delete_target` are never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl ImageLibrary {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn save_target(&self, target: &TargetImage) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn create_target_from_screenshot(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn find_on_screen(&self, target_id: &str) -> Result<Option<(i32, i32)>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn get_targets(&self) -> &[TargetImage] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn delete_target(&mut self, target_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_template` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:221:4
[INFO] [stdout]     |
[INFO] [stdout] 221 | fn find_template(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_to_image` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn base64_to_image(base64_data: &str) -> Result<DynamicImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/gui/animations.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Animation {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn progress(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn is_completed(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn complete(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn lerp_color(&self, from: Color32, to: Color32) -> Color32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn lerp_pos(&self, from: Pos2, to: Pos2) -> Pos2 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn lerp_vec(&self, from: Vec2, to: Vec2) -> Vec2 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn lerp(&self, from: f32, to: f32) -> f32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `image_to_base64` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:399:8
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub fn image_to_base64(image: &DynamicImage) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp_color` is never used
[INFO] [stdout]   --> src/gui/animations.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn lerp_color(from: Color32, to: Color32, t: f32) -> Color32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `capture_screen` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:407:8
[INFO] [stdout]     |
[INFO] [stdout] 407 | pub fn capture_screen() -> Result<RgbaImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp_pos` is never used
[INFO] [stdout]   --> src/gui/animations.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn lerp_pos(from: Pos2, to: Pos2, t: f32) -> Pos2 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp_vec` is never used
[INFO] [stdout]   --> src/gui/animations.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn lerp_vec(from: Vec2, to: Vec2, t: f32) -> Vec2 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `capture_screen_area` is never used
[INFO] [stdout]    --> src/modules/image_recognition.rs:514:8
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub fn capture_screen_area(x: i32, y: i32, width: u32, height: u32) -> Result<RgbaImage> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]    --> src/gui/animations.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn lerp(from: f32, to: f32, t: f32) -> f32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_out` is never used
[INFO] [stdout]    --> src/gui/animations.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn ease_in_out(t: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Running` is never constructed
[INFO] [stdout]   --> src/gui/app.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum AppView {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Running,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppView` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `profiles_dir` is never read
[INFO] [stdout]   --> src/gui/app.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct AppState {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub profiles_dir: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `image_view` is never read
[INFO] [stdout]   --> src/gui/app.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct MouseClickerApp {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     image_view: ImageView,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/gui/views/image_view.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ImageView {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 13 |     state: Arc<Mutex<AppState>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     image_library: Arc<Mutex<ImageLibrary>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 15 |     selected_target_id: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     screenshot_area: Option<(i32, i32, u32, u32)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     is_selecting_area: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     selection_start: Option<egui::Pos2>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     preview_texture: Option<TextureHandle>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     screen_texture: Option<TextureHandle>,  // Added for screen capture
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     target_textures: HashMap<String, TextureHandle>,  // Store textures for each target
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     last_search_result: Option<(i32, i32)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     last_search_time: Option<Instant>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ui`, `target_list_ui`, `target_details_ui`, `capture_area_ui`, and `preview_ui` are never used
[INFO] [stdout]    --> src/gui/views/image_view.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl ImageView {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn target_list_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 448 |     fn target_details_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     fn capture_area_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 773 |     fn preview_ui(&mut self, ui: &mut Ui) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_running` and `is_paused` are never used
[INFO] [stdout]    --> src/gui/clicker.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl ClickerThread {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn is_paused(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `primary_light`, `error`, and `animation_duration` are never read
[INFO] [stdout]   --> src/gui/theme.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct AppTheme {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  9 |     pub primary_light: Color32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub error: Color32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub animation_duration: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppTheme` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `spacing_large` and `icon_size` are never used
[INFO] [stdout]    --> src/gui/theme.rs:242:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl AppTheme {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn spacing_large(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn icon_size(&self) -> Vec2 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `subsection_header` is never used
[INFO] [stdout]   --> src/gui/components.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn subsection_header(ui: &mut Ui, theme: &AppTheme, text: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tooltip` is never used
[INFO] [stdout]   --> src/gui/components.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn tooltip(ui: &mut Ui, theme: &AppTheme, text: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_message` is never used
[INFO] [stdout]   --> src/gui/components.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn status_message(ui: &mut Ui, theme: &AppTheme, text: &str, message_type: StatusMessageType) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatusMessageType` is never used
[INFO] [stdout]   --> src/gui/components.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum StatusMessageType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle` is never used
[INFO] [stdout]    --> src/gui/components.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn toggle(ui: &mut Ui, theme: &AppTheme, label: &str, value: &mut bool) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slider` is never used
[INFO] [stdout]    --> src/gui/components.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn slider<T>(ui: &mut Ui, theme: &AppTheme, label: &str, value: &mut T, range: std::ops::RangeInclusive<T>) -> bool
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dropdown` is never used
[INFO] [stdout]    --> src/gui/components.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn dropdown<T>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `duration` is never read
[INFO] [stdout]  --> src/gui/animations.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Animation {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 6 |     start_time: Instant,
[INFO] [stdout] 7 |     duration: Duration,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/gui/animations.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Animation {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn progress(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn is_completed(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn complete(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn lerp_color(&self, from: Color32, to: Color32) -> Color32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn lerp_pos(&self, from: Pos2, to: Pos2) -> Pos2 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn lerp_vec(&self, from: Vec2, to: Vec2) -> Vec2 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn lerp(&self, from: f32, to: f32) -> f32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp_color` is never used
[INFO] [stdout]   --> src/gui/animations.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn lerp_color(from: Color32, to: Color32, t: f32) -> Color32 {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp_pos` is never used
[INFO] [stdout]   --> src/gui/animations.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn lerp_pos(from: Pos2, to: Pos2, t: f32) -> Pos2 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp_vec` is never used
[INFO] [stdout]   --> src/gui/animations.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn lerp_vec(from: Vec2, to: Vec2, t: f32) -> Vec2 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]    --> src/gui/animations.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn lerp(from: f32, to: f32, t: f32) -> f32 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_out` is never used
[INFO] [stdout]    --> src/gui/animations.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn ease_in_out(t: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.93s
[INFO] running `Command { std: "docker" "inspect" "bc8de846a1042d9f882bfbc9a73c0f26641720bd0371d7ef9ffed58cacc79425", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc8de846a1042d9f882bfbc9a73c0f26641720bd0371d7ef9ffed58cacc79425", kill_on_drop: false }`
[INFO] [stdout] bc8de846a1042d9f882bfbc9a73c0f26641720bd0371d7ef9ffed58cacc79425
