[INFO] cloning repository https://github.com/sayan5069/Vanguard
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sayan5069/Vanguard" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsayan5069%2FVanguard", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsayan5069%2FVanguard'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 541a5f248f2f33d14c1bad53c984610204fa3951
[INFO] checking sayan5069/Vanguard against master#cb40c25f6aebb637163d26bf76a680ed6e5d1eda for pr-156157
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsayan5069%2FVanguard" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sayan5069/Vanguard
[INFO] finished tweaking git repo https://github.com/sayan5069/Vanguard
[INFO] tweaked toml for git repo https://github.com/sayan5069/Vanguard written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sayan5069/Vanguard on toolchain cb40c25f6aebb637163d26bf76a680ed6e5d1eda
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sayan5069/Vanguard 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" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_edit v0.25.6+spec-1.1.0
[INFO] [stderr]   Downloaded ashpd v0.11.1
[INFO] [stderr]   Downloaded zune-jpeg v0.5.14
[INFO] [stderr]   Downloaded wgpu v24.0.5
[INFO] [stderr]   Downloaded wgpu-core v24.0.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1a3b86bfb99e6e987c0c211e4c2aec0d85f0a12bf42db192988cf51e3cc352b0
[INFO] running `Command { std: "docker" "start" "-a" "1a3b86bfb99e6e987c0c211e4c2aec0d85f0a12bf42db192988cf51e3cc352b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a3b86bfb99e6e987c0c211e4c2aec0d85f0a12bf42db192988cf51e3cc352b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a3b86bfb99e6e987c0c211e4c2aec0d85f0a12bf42db192988cf51e3cc352b0", kill_on_drop: false }`
[INFO] [stdout] 1a3b86bfb99e6e987c0c211e4c2aec0d85f0a12bf42db192988cf51e3cc352b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 84339781690a13b5495092963f434e4942f43d00304d7abb5e3c22c50fdfe927
[INFO] running `Command { std: "docker" "start" "-a" "84339781690a13b5495092963f434e4942f43d00304d7abb5e3c22c50fdfe927", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling wayland-sys v0.31.10
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling wayland-client v0.31.13
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]    Compiling toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling wayland-scanner v0.31.9
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking immutable-chunkmap v2.1.2
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking accesskit_consumer v0.26.0
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]    Compiling toml_edit v0.25.6+spec-1.1.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling rfd v0.15.4
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling wayland-backend v0.3.14
[INFO] [stderr]    Compiling libz-sys v1.1.25
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking async-signal v0.2.13
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking wayland-protocols v0.32.11
[INFO] [stderr]     Checking wayland-cursor v0.31.13
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling quick-xml v0.30.0
[INFO] [stderr]    Compiling zvariant_utils v3.3.0
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling zvariant_derive v5.10.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking webbrowser v1.2.0
[INFO] [stderr]    Compiling zvariant v5.10.0
[INFO] [stderr]     Checking git2 v0.20.4
[INFO] [stderr]     Checking zbus_names v3.0.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.11
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.11
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.11
[INFO] [stderr]     Checking zbus_xml v4.0.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking zbus_names v4.3.1
[INFO] [stderr]     Checking zbus-lockstep v0.4.4
[INFO] [stderr]     Checking egui_glow v0.31.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]    Compiling zbus_macros v5.14.0
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking zbus v5.14.0
[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 ashpd v0.11.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 fuji v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ValidatedPath`
[INFO] [stdout]   --> src/analyzer/walker.rs:10:44
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::secure::{FsError, FsController, ValidatedPath};
[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: `FileResult`
[INFO] [stdout]  --> src/secure/analyzer_trait.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::{Issue, FunctionInfo, FileResult};
[INFO] [stdout]   |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/secure/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValidatedPath`
[INFO] [stdout]   --> src/analyzer/walker.rs:10:44
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::secure::{FsError, FsController, ValidatedPath};
[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: `FileResult`
[INFO] [stdout]  --> src/secure/analyzer_trait.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::{Issue, FunctionInfo, FileResult};
[INFO] [stdout]   |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/secure/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[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/theme.rs:167:66
[INFO] [stdout]     |
[INFO] [stdout] 167 |     visuals.widgets.noninteractive.fg_stroke = egui::Stroke::new(1.0, COLOR_TEXT_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]     = 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/theme.rs:170:60
[INFO] [stdout]     |
[INFO] [stdout] 170 |     visuals.widgets.inactive.fg_stroke = egui::Stroke::new(1.0, COLOR_TEXT_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:173:59
[INFO] [stdout]     |
[INFO] [stdout] 173 |     visuals.widgets.hovered.fg_stroke = egui::Stroke::new(1.0, COLOR_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:176:58
[INFO] [stdout]     |
[INFO] [stdout] 176 |     visuals.widgets.active.fg_stroke = egui::Stroke::new(1.0, egui::Color32::from_rgb(60, 0, 145));
[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:179:50
[INFO] [stdout]     |
[INFO] [stdout] 179 |     visuals.selection.stroke = egui::Stroke::new(1.0, COLOR_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:167:66
[INFO] [stdout]     |
[INFO] [stdout] 167 |     visuals.widgets.noninteractive.fg_stroke = egui::Stroke::new(1.0, COLOR_TEXT_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]     = 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/theme.rs:170:60
[INFO] [stdout]     |
[INFO] [stdout] 170 |     visuals.widgets.inactive.fg_stroke = egui::Stroke::new(1.0, COLOR_TEXT_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:173:59
[INFO] [stdout]     |
[INFO] [stdout] 173 |     visuals.widgets.hovered.fg_stroke = egui::Stroke::new(1.0, COLOR_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:176:58
[INFO] [stdout]     |
[INFO] [stdout] 176 |     visuals.widgets.active.fg_stroke = egui::Stroke::new(1.0, egui::Color32::from_rgb(60, 0, 145));
[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:179:50
[INFO] [stdout]     |
[INFO] [stdout] 179 |     visuals.selection.stroke = egui::Stroke::new(1.0, COLOR_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:356:35
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 egui::Stroke::new(1.0, HACKER_GRID.linear_multiply(0.3)),
[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:407:35
[INFO] [stdout]     |
[INFO] [stdout] 407 |         .stroke(egui::Stroke::new(2.0, stroke_color))
[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:416:35
[INFO] [stdout]     |
[INFO] [stdout] 416 |         .stroke(egui::Stroke::new(2.0, color))
[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:356:35
[INFO] [stdout]     |
[INFO] [stdout] 356 |                 egui::Stroke::new(1.0, HACKER_GRID.linear_multiply(0.3)),
[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:438:31
[INFO] [stdout]     |
[INFO] [stdout] 438 |             egui::Stroke::new(1.0, glow_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/theme.rs:490:31
[INFO] [stdout]     |
[INFO] [stdout] 490 |     let s = egui::Stroke::new(1.5, color);
[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:407:35
[INFO] [stdout]     |
[INFO] [stdout] 407 |         .stroke(egui::Stroke::new(2.0, stroke_color))
[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:505:31
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let s = egui::Stroke::new(2.0, color);
[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:416:35
[INFO] [stdout]     |
[INFO] [stdout] 416 |         .stroke(egui::Stroke::new(2.0, color))
[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:438:31
[INFO] [stdout]     |
[INFO] [stdout] 438 |             egui::Stroke::new(1.0, glow_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/theme.rs:515:31
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let s = egui::Stroke::new(1.5, color);
[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:534:31
[INFO] [stdout]     |
[INFO] [stdout] 534 |     let s = egui::Stroke::new(2.0, color);
[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:562:83
[INFO] [stdout]     |
[INFO] [stdout] 562 |     ui.painter().rect_stroke(rect, egui::CornerRadius::same(6), egui::Stroke::new(1.0, border_color), egui::StrokeKind::Inside);
[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:490:31
[INFO] [stdout]     |
[INFO] [stdout] 490 |     let s = egui::Stroke::new(1.5, color);
[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:590:83
[INFO] [stdout]     |
[INFO] [stdout] 590 |     ui.painter().rect_stroke(rect, egui::CornerRadius::same(6), egui::Stroke::new(1.0, border_color), egui::StrokeKind::Inside);
[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:640:97
[INFO] [stdout]     |
[INFO] [stdout] 640 | ...), egui::Stroke::new(if selected { 2.0 } else { 1.0 }, border_color), egui::StrokeKind::Inside);
[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:640:110
[INFO] [stdout]     |
[INFO] [stdout] 640 | ...ke::new(if selected { 2.0 } else { 1.0 }, border_color), egui::StrokeKind::Inside);
[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:505:31
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let s = egui::Stroke::new(2.0, color);
[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:515:31
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let s = egui::Stroke::new(1.5, color);
[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:534:31
[INFO] [stdout]     |
[INFO] [stdout] 534 |     let s = egui::Stroke::new(2.0, color);
[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:647:87
[INFO] [stdout]     |
[INFO] [stdout] 647 | ...Radius::same(6), egui::Stroke::new(1.0, base_color.linear_multiply(0.5)), egui::StrokeKind::Inside);
[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:562:83
[INFO] [stdout]     |
[INFO] [stdout] 562 |     ui.painter().rect_stroke(rect, egui::CornerRadius::same(6), egui::Stroke::new(1.0, border_color), egui::StrokeKind::Inside);
[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:590:83
[INFO] [stdout]     |
[INFO] [stdout] 590 |     ui.painter().rect_stroke(rect, egui::CornerRadius::same(6), egui::Stroke::new(1.0, border_color), egui::StrokeKind::Inside);
[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:640:97
[INFO] [stdout]     |
[INFO] [stdout] 640 | ...), egui::Stroke::new(if selected { 2.0 } else { 1.0 }, border_color), egui::StrokeKind::Inside);
[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:640:110
[INFO] [stdout]     |
[INFO] [stdout] 640 | ...ke::new(if selected { 2.0 } else { 1.0 }, border_color), egui::StrokeKind::Inside);
[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:647:87
[INFO] [stdout]     |
[INFO] [stdout] 647 | ...Radius::same(6), egui::Stroke::new(1.0, base_color.linear_multiply(0.5)), egui::StrokeKind::Inside);
[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/mod.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 136 |                         .stroke(egui::Stroke::new(1.0, theme::COLOR_ACCENT.linear_multiply(0.3)))
[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/mod.rs:185:47
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     .stroke(egui::Stroke::new(1.0, theme::COLOR_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/mod.rs:136:51
[INFO] [stdout]     |
[INFO] [stdout] 136 |                         .stroke(egui::Stroke::new(1.0, theme::COLOR_ACCENT.linear_multiply(0.3)))
[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/mod.rs:185:47
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     .stroke(egui::Stroke::new(1.0, theme::COLOR_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/mod.rs:471:47
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     .stroke(egui::Stroke::new(1.0, theme::COLOR_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/mod.rs:588:59
[INFO] [stdout]     |
[INFO] [stdout] 588 | ...                   .stroke(egui::Stroke::new(1.0, theme::COLOR_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/mod.rs:627:71
[INFO] [stdout]     |
[INFO] [stdout] 627 | ...                   .stroke(egui::Stroke::new(1.0, theme::COLOR_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/mod.rs:471:47
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     .stroke(egui::Stroke::new(1.0, theme::COLOR_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/mod.rs:588:59
[INFO] [stdout]     |
[INFO] [stdout] 588 | ...                   .stroke(egui::Stroke::new(1.0, theme::COLOR_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/mod.rs:627:71
[INFO] [stdout]     |
[INFO] [stdout] 627 | ...                   .stroke(egui::Stroke::new(1.0, theme::COLOR_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: unused variable: `card_width`
[INFO] [stdout]    --> src/gui/mod.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |             let card_width = 360.0;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_width`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card_height`
[INFO] [stdout]    --> src/gui/mod.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |             let card_height = 70.0;
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card_width`
[INFO] [stdout]    --> src/gui/mod.rs:269:17
[INFO] [stdout]     |
[INFO] [stdout] 269 |             let card_width = 360.0;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_width`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `card_height`
[INFO] [stdout]    --> src/gui/mod.rs:270:17
[INFO] [stdout]     |
[INFO] [stdout] 270 |             let card_height = 70.0;
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_card_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_sarif_taxonomy` is never used
[INFO] [stdout]   --> src/models.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Category {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 94 |     /// SARIF taxonomic category
[INFO] [stdout] 95 |     pub fn to_sarif_taxonomy(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `severity_counts` and `security_issues` are never used
[INFO] [stdout]    --> src/models.rs:313:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl FileResult {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn severity_counts(&self) -> HashMap<Severity, usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn security_issues(&self) -> Vec<&Issue> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]    --> src/models.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub struct ProgressUpdate {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub timestamp: std::time::Instant,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ProgressUpdate` 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: associated function `new` is never used
[INFO] [stdout]    --> src/models.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 425 | impl ProgressUpdate {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 426 |     pub fn new(phase: &str, progress: f64, message: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidatedFile` is never constructed
[INFO] [stdout]   --> src/analyzer/walker.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct ValidatedFile {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_file_result` is never used
[INFO] [stdout]   --> src/analyzer/walker.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl ValidatedFile {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 95 |     /// Convert to FileResult with validation
[INFO] [stdout] 96 |     pub fn to_file_result(&self) -> FileResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file_content` is never used
[INFO] [stdout]    --> src/analyzer/walker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn read_file_content(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_GREEN` is never used
[INFO] [stdout]   --> src/gui/theme.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const MATRIX_GREEN: egui::Color32 = egui::Color32::from_rgb(0, 255, 65);     // Classic Matrix green
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_GREEN_DIM` is never used
[INFO] [stdout]   --> src/gui/theme.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const MATRIX_GREEN_DIM: egui::Color32 = egui::Color32::from_rgb(0, 150, 40); // Dimmed Matrix green
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_GREEN_GLOW` is never used
[INFO] [stdout]   --> src/gui/theme.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const MATRIX_GREEN_GLOW: egui::Color32 = egui::Color32::from_rgb(100, 255, 150); // Glowing green
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_TRAIL` is never used
[INFO] [stdout]   --> src/gui/theme.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const MATRIX_TRAIL: egui::Color32 = egui::Color32::from_rgb(0, 100, 30);      // Trail fade
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_CYAN` is never used
[INFO] [stdout]   --> src/gui/theme.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const NEON_CYAN: egui::Color32 = egui::Color32::from_rgb(0, 255, 255);       // Cyan neon
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_PINK` is never used
[INFO] [stdout]   --> src/gui/theme.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const NEON_PINK: egui::Color32 = egui::Color32::from_rgb(255, 0, 255);       // Magenta neon
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_AMBER` is never used
[INFO] [stdout]   --> src/gui/theme.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const NEON_AMBER: egui::Color32 = egui::Color32::from_rgb(255, 176, 0);      // Amber phosphor
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_RED` is never used
[INFO] [stdout]   --> src/gui/theme.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const NEON_RED: egui::Color32 = egui::Color32::from_rgb(255, 50, 50);        // Alert red
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_BLUE` is never used
[INFO] [stdout]   --> src/gui/theme.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const NEON_BLUE: egui::Color32 = egui::Color32::from_rgb(50, 150, 255);      // Electric blue
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TERMINAL_GREEN` is never used
[INFO] [stdout]   --> src/gui/theme.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const TERMINAL_GREEN: egui::Color32 = egui::Color32::from_rgb(51, 255, 51);  // Phosphor green
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TERMINAL_AMBER` is never used
[INFO] [stdout]   --> src/gui/theme.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const TERMINAL_AMBER: egui::Color32 = egui::Color32::from_rgb(255, 204, 0); // Phosphor amber
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRT_SCANLINE` is never used
[INFO] [stdout]   --> src/gui/theme.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const CRT_SCANLINE: egui::Color32 = egui::Color32::from_rgba_premultiplied(0, 0, 0, 30); // Scanline overlay
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRT_GLOW` is never used
[INFO] [stdout]   --> src/gui/theme.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const CRT_GLOW: egui::Color32 = egui::Color32::from_rgba_premultiplied(100, 255, 100, 20); // Screen glow
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HACKER_DARK` is never used
[INFO] [stdout]   --> src/gui/theme.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const HACKER_DARK: egui::Color32 = egui::Color32::from_rgb(10, 20, 15);      // Deep hacker bg
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HACKER_GRID` is never used
[INFO] [stdout]   --> src/gui/theme.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const HACKER_GRID: egui::Color32 = egui::Color32::from_rgb(0, 80, 40);       // Grid lines
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECURITY_CLEAR` is never used
[INFO] [stdout]   --> src/gui/theme.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const SECURITY_CLEAR: egui::Color32 = egui::Color32::from_rgb(0, 255, 100);  // Clear/secure
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECURITY_WARNING` is never used
[INFO] [stdout]   --> src/gui/theme.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const SECURITY_WARNING: egui::Color32 = egui::Color32::from_rgb(255, 165, 0); // Warning
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECURITY_CRITICAL` is never used
[INFO] [stdout]   --> src/gui/theme.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const SECURITY_CRITICAL: egui::Color32 = egui::Color32::from_rgb(255, 0, 80);   // Critical
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BINARY_0` is never used
[INFO] [stdout]   --> src/gui/theme.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const BINARY_0: egui::Color32 = egui::Color32::from_rgb(60, 60, 70);         // Zero bit
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BINARY_1` is never used
[INFO] [stdout]   --> src/gui/theme.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const BINARY_1: egui::Color32 = egui::Color32::from_rgb(0, 255, 100);        // One bit
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEX_BYTE` is never used
[INFO] [stdout]   --> src/gui/theme.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const HEX_BYTE: egui::Color32 = egui::Color32::from_rgb(180, 180, 200);      // Hex values
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEX_OFFSET` is never used
[INFO] [stdout]   --> src/gui/theme.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const HEX_OFFSET: egui::Color32 = egui::Color32::from_rgb(100, 100, 120);    // Offset markers
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CyberAnimationState` is never constructed
[INFO] [stdout]   --> src/gui/theme.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct CyberAnimationState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixDrop` is never constructed
[INFO] [stdout]    --> src/gui/theme.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct MatrixDrop {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]    --> src/gui/theme.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl MatrixDrop {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(x: f32, _screen_height: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn update(&mut self, dt: f32, screen_height: f32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CYBER_STATE` is never used
[INFO] [stdout]    --> src/gui/theme.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | static CYBER_STATE: OnceLock<Mutex<CyberAnimationState>> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cyber_state` is never used
[INFO] [stdout]    --> src/gui/theme.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn get_cyber_state() -> &'static Mutex<CyberAnimationState> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_cyber_animations` is never used
[INFO] [stdout]    --> src/gui/theme.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn update_cyber_animations(ctx: &egui::Context, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_matrix_rain` is never used
[INFO] [stdout]    --> src/gui/theme.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn draw_matrix_rain(ui: &mut egui::Ui, _rect: egui::Rect, intensity: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_scanlines` is never used
[INFO] [stdout]    --> src/gui/theme.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn draw_scanlines(ui: &mut egui::Ui, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_scanline_sweep` is never used
[INFO] [stdout]    --> src/gui/theme.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn draw_scanline_sweep(ui: &mut egui::Ui, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_hex_grid` is never used
[INFO] [stdout]    --> src/gui/theme.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn draw_hex_grid(ui: &mut egui::Ui, rect: egui::Rect, hex_size: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_digital_noise` is never used
[INFO] [stdout]    --> src/gui/theme.rs:363:8
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub fn draw_digital_noise(ui: &mut egui::Ui, rect: egui::Rect, density: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glowing_text` is never used
[INFO] [stdout]    --> src/gui/theme.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn glowing_text(text: &str, size: f32, color: egui::Color32, _glow_intensity: f32) -> egui::RichText {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cyber_frame` is never used
[INFO] [stdout]    --> src/gui/theme.rs:404:8
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub fn cyber_frame(fill: egui::Color32, stroke_color: egui::Color32) -> egui::Frame {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `neon_frame` is never used
[INFO] [stdout]    --> src/gui/theme.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub fn neon_frame(color: egui::Color32) -> egui::Frame {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_pulse_glow` is never used
[INFO] [stdout]    --> src/gui/theme.rs:422:8
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub fn draw_pulse_glow(painter: &egui::Painter, rect: egui::Rect, color: egui::Color32, intensity: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pulse_color` is never used
[INFO] [stdout]    --> src/gui/theme.rs:445:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub fn pulse_color(base_color: egui::Color32, speed: f32, ctx: &egui::Context) -> egui::Color32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_binary_pattern` is never used
[INFO] [stdout]    --> src/gui/theme.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn generate_binary_pattern(length: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_binary_border` is never used
[INFO] [stdout]    --> src/gui/theme.rs:461:8
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub fn draw_binary_border(ui: &mut egui::Ui, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALLOWED_EXTENSIONS` is never used
[INFO] [stdout]   --> src/secure/mod.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const ALLOWED_EXTENSIONS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidPath`, `FileTooLarge`, `InvalidExtension`, and `PermissionDenied` are never constructed
[INFO] [stdout]   --> src/secure/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum FsError {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 28 |     PathTooLong,
[INFO] [stdout] 29 |     InvalidPath,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     FileTooLarge,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 33 |     InvalidExtension,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     IoError(String),
[INFO] [stdout] 35 |     PermissionDenied,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FsError` 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: method `as_path` is never used
[INFO] [stdout]   --> src/secure/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl ValidatedPath {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 63 |     pub fn as_path(&self) -> &Path {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `allow_read` and `max_file_size` are never read
[INFO] [stdout]   --> src/secure/mod.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct FsController {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |     allow_read: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |     /// Maximum file size allowed
[INFO] [stdout] 89 |     max_file_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_only_meta`, `with_max_size`, `read_dir`, `read_file`, `is_valid_file`, and `scope` are never used
[INFO] [stdout]    --> src/secure/mod.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl FsController {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn read_only_meta(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn with_max_size(mut self, size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn read_dir(&self, path: &ValidatedPath) -> Result<Vec<DirEntry>, FsError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn read_file(&self, path: &ValidatedPath,
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn is_valid_file(&self, path: &ValidatedPath) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn scope(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_sarif_level` and `from_str` are never used
[INFO] [stdout]   --> src/models.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Severity {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 28 |     /// SARIF level mapping
[INFO] [stdout] 29 |     pub fn to_sarif_level(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn from_str(s: &str) -> Option<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: struct `DirEntry` is never constructed
[INFO] [stdout]    --> src/secure/mod.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct DirEntry {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_sarif_taxonomy` is never used
[INFO] [stdout]   --> src/models.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Category {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 94 |     /// SARIF taxonomic category
[INFO] [stdout] 95 |     pub fn to_sarif_taxonomy(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalysisConfig` is never constructed
[INFO] [stdout]    --> src/secure/mod.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct AnalysisConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `severity_counts` and `security_issues` are never used
[INFO] [stdout]    --> src/models.rs:313:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | impl FileResult {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn severity_counts(&self) -> HashMap<Severity, usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn security_issues(&self) -> Vec<&Issue> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]    --> src/models.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub struct ProgressUpdate {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub timestamp: std::time::Instant,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ProgressUpdate` 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: associated function `new` is never used
[INFO] [stdout]    --> src/models.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 425 | impl ProgressUpdate {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 426 |     pub fn new(phase: &str, progress: f64, message: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AnalysisMode` is never used
[INFO] [stdout]    --> src/secure/mod.rs:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub enum AnalysisMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalysisRequestBuilder` is never constructed
[INFO] [stdout]    --> src/secure/mod.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct AnalysisRequestBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_modes`, `with_max_size`, `with_excludes`, and `build` are never used
[INFO] [stdout]    --> src/secure/mod.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl AnalysisRequestBuilder {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 284 |     pub fn new(target_path: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn with_modes(mut self, modes: Vec<AnalysisMode>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn with_max_size(mut self, size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn with_excludes(mut self, patterns: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn build(self) -> Result<AnalysisConfig, FsError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_sarif` is never used
[INFO] [stdout]    --> src/models.rs:442:12
[INFO] [stdout]     |
[INFO] [stdout] 440 | impl AnalysisResult {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 441 |     /// Convert to SARIF format
[INFO] [stdout] 442 |     pub fn to_sarif(&self) -> SarifLog {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidInput` and `ExecutionError` are never constructed
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum AnalyzerError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     InvalidInput(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 23 |     ExecutionError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzerError` 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: methods `name`, `version`, `supports_language`, and `metadata` are never used
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait Analyzer: Send + Sync {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] 51 |     /// Analyzer name (for telemetry)
[INFO] [stdout] 52 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn version(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn supports_language(&self, language: &str) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     fn metadata(&self) -> AnalyzerMetadata {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifLog` is never constructed
[INFO] [stdout]    --> src/models.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub struct SarifLog {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalyzerMetadata` is never constructed
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct AnalyzerMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_timeout` and `name` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl SandboxedAnalyzer {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn with_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalyzerRegistry` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct AnalyzerRegistry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifRun` is never constructed
[INFO] [stdout]    --> src/models.rs:512:12
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub struct SarifRun {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `get_for_language`, and `get_metadata` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl AnalyzerRegistry {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn register(&mut self, analyzer: Box<dyn Analyzer>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn get_for_language(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn get_metadata(&self) -> Vec<AnalyzerMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompositeAnalyzer` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub struct CompositeAnalyzer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifTool` is never constructed
[INFO] [stdout]    --> src/models.rs:518:12
[INFO] [stdout]     |
[INFO] [stdout] 518 | pub struct SarifTool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `analyze_all` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl CompositeAnalyzer {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 203 |     pub fn new(analyzers: Vec<Box<dyn Analyzer>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn analyze_all(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifToolComponent` is never constructed
[INFO] [stdout]    --> src/models.rs:523:12
[INFO] [stdout]     |
[INFO] [stdout] 523 | pub struct SarifToolComponent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifRule` is never constructed
[INFO] [stdout]    --> src/models.rs:533:12
[INFO] [stdout]     |
[INFO] [stdout] 533 | pub struct SarifRule {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalysisContext` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct AnalysisContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_content` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl AnalysisContext {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 245 |     pub fn new(file_path: String, language: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn with_content(mut self, content: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IssueBuilder` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct IssueBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl IssueBuilder {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 270 |     pub fn new(issue_type: &str, severity: crate::models::Severity) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn line(mut self, line: usize) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn column(mut self, col: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn message(mut self, msg: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn category(mut self, cat: crate::models::Category) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn fix(mut self, fix: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn build(self) -> Issue {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifResult` is never constructed
[INFO] [stdout]    --> src/models.rs:546:12
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub struct SarifResult {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifMessage` is never constructed
[INFO] [stdout]    --> src/models.rs:554:12
[INFO] [stdout]     |
[INFO] [stdout] 554 | pub struct SarifMessage {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifLocation` is never constructed
[INFO] [stdout]    --> src/models.rs:561:12
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub struct SarifLocation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifPhysicalLocation` is never constructed
[INFO] [stdout]    --> src/models.rs:566:12
[INFO] [stdout]     |
[INFO] [stdout] 566 | pub struct SarifPhysicalLocation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifArtifactLocation` is never constructed
[INFO] [stdout]    --> src/models.rs:573:12
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub struct SarifArtifactLocation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SarifRegion` is never constructed
[INFO] [stdout]    --> src/models.rs:580:12
[INFO] [stdout]     |
[INFO] [stdout] 580 | pub struct SarifRegion {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidatedFile` is never constructed
[INFO] [stdout]   --> src/analyzer/walker.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct ValidatedFile {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_file_result` is never used
[INFO] [stdout]   --> src/analyzer/walker.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl ValidatedFile {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 95 |     /// Convert to FileResult with validation
[INFO] [stdout] 96 |     pub fn to_file_result(&self) -> FileResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file_content` is never used
[INFO] [stdout]    --> src/analyzer/walker.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn read_file_content(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_analyzable` is never used
[INFO] [stdout]    --> src/analyzer/walker.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub fn is_analyzable(path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_GREEN` is never used
[INFO] [stdout]   --> src/gui/theme.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const MATRIX_GREEN: egui::Color32 = egui::Color32::from_rgb(0, 255, 65);     // Classic Matrix green
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_GREEN_DIM` is never used
[INFO] [stdout]   --> src/gui/theme.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const MATRIX_GREEN_DIM: egui::Color32 = egui::Color32::from_rgb(0, 150, 40); // Dimmed Matrix green
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_GREEN_GLOW` is never used
[INFO] [stdout]   --> src/gui/theme.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const MATRIX_GREEN_GLOW: egui::Color32 = egui::Color32::from_rgb(100, 255, 150); // Glowing green
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MATRIX_TRAIL` is never used
[INFO] [stdout]   --> src/gui/theme.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const MATRIX_TRAIL: egui::Color32 = egui::Color32::from_rgb(0, 100, 30);      // Trail fade
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_CYAN` is never used
[INFO] [stdout]   --> src/gui/theme.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const NEON_CYAN: egui::Color32 = egui::Color32::from_rgb(0, 255, 255);       // Cyan neon
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_PINK` is never used
[INFO] [stdout]   --> src/gui/theme.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const NEON_PINK: egui::Color32 = egui::Color32::from_rgb(255, 0, 255);       // Magenta neon
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_AMBER` is never used
[INFO] [stdout]   --> src/gui/theme.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const NEON_AMBER: egui::Color32 = egui::Color32::from_rgb(255, 176, 0);      // Amber phosphor
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_RED` is never used
[INFO] [stdout]   --> src/gui/theme.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const NEON_RED: egui::Color32 = egui::Color32::from_rgb(255, 50, 50);        // Alert red
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEON_BLUE` is never used
[INFO] [stdout]   --> src/gui/theme.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const NEON_BLUE: egui::Color32 = egui::Color32::from_rgb(50, 150, 255);      // Electric blue
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TERMINAL_GREEN` is never used
[INFO] [stdout]   --> src/gui/theme.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const TERMINAL_GREEN: egui::Color32 = egui::Color32::from_rgb(51, 255, 51);  // Phosphor green
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TERMINAL_AMBER` is never used
[INFO] [stdout]   --> src/gui/theme.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const TERMINAL_AMBER: egui::Color32 = egui::Color32::from_rgb(255, 204, 0); // Phosphor amber
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRT_SCANLINE` is never used
[INFO] [stdout]   --> src/gui/theme.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const CRT_SCANLINE: egui::Color32 = egui::Color32::from_rgba_premultiplied(0, 0, 0, 30); // Scanline overlay
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRT_GLOW` is never used
[INFO] [stdout]   --> src/gui/theme.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const CRT_GLOW: egui::Color32 = egui::Color32::from_rgba_premultiplied(100, 255, 100, 20); // Screen glow
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HACKER_DARK` is never used
[INFO] [stdout]   --> src/gui/theme.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const HACKER_DARK: egui::Color32 = egui::Color32::from_rgb(10, 20, 15);      // Deep hacker bg
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HACKER_GRID` is never used
[INFO] [stdout]   --> src/gui/theme.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const HACKER_GRID: egui::Color32 = egui::Color32::from_rgb(0, 80, 40);       // Grid lines
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECURITY_CLEAR` is never used
[INFO] [stdout]   --> src/gui/theme.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const SECURITY_CLEAR: egui::Color32 = egui::Color32::from_rgb(0, 255, 100);  // Clear/secure
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECURITY_WARNING` is never used
[INFO] [stdout]   --> src/gui/theme.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const SECURITY_WARNING: egui::Color32 = egui::Color32::from_rgb(255, 165, 0); // Warning
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECURITY_CRITICAL` is never used
[INFO] [stdout]   --> src/gui/theme.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const SECURITY_CRITICAL: egui::Color32 = egui::Color32::from_rgb(255, 0, 80);   // Critical
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BINARY_0` is never used
[INFO] [stdout]   --> src/gui/theme.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const BINARY_0: egui::Color32 = egui::Color32::from_rgb(60, 60, 70);         // Zero bit
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BINARY_1` is never used
[INFO] [stdout]   --> src/gui/theme.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const BINARY_1: egui::Color32 = egui::Color32::from_rgb(0, 255, 100);        // One bit
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEX_BYTE` is never used
[INFO] [stdout]   --> src/gui/theme.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const HEX_BYTE: egui::Color32 = egui::Color32::from_rgb(180, 180, 200);      // Hex values
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEX_OFFSET` is never used
[INFO] [stdout]   --> src/gui/theme.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const HEX_OFFSET: egui::Color32 = egui::Color32::from_rgb(100, 100, 120);    // Offset markers
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CyberAnimationState` is never constructed
[INFO] [stdout]   --> src/gui/theme.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct CyberAnimationState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixDrop` is never constructed
[INFO] [stdout]    --> src/gui/theme.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct MatrixDrop {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]    --> src/gui/theme.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl MatrixDrop {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(x: f32, _screen_height: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn update(&mut self, dt: f32, screen_height: f32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CYBER_STATE` is never used
[INFO] [stdout]    --> src/gui/theme.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | static CYBER_STATE: OnceLock<Mutex<CyberAnimationState>> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cyber_state` is never used
[INFO] [stdout]    --> src/gui/theme.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn get_cyber_state() -> &'static Mutex<CyberAnimationState> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_cyber_animations` is never used
[INFO] [stdout]    --> src/gui/theme.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn update_cyber_animations(ctx: &egui::Context, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_matrix_rain` is never used
[INFO] [stdout]    --> src/gui/theme.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn draw_matrix_rain(ui: &mut egui::Ui, _rect: egui::Rect, intensity: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_scanlines` is never used
[INFO] [stdout]    --> src/gui/theme.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn draw_scanlines(ui: &mut egui::Ui, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_scanline_sweep` is never used
[INFO] [stdout]    --> src/gui/theme.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn draw_scanline_sweep(ui: &mut egui::Ui, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_hex_grid` is never used
[INFO] [stdout]    --> src/gui/theme.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn draw_hex_grid(ui: &mut egui::Ui, rect: egui::Rect, hex_size: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_digital_noise` is never used
[INFO] [stdout]    --> src/gui/theme.rs:363:8
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub fn draw_digital_noise(ui: &mut egui::Ui, rect: egui::Rect, density: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glowing_text` is never used
[INFO] [stdout]    --> src/gui/theme.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn glowing_text(text: &str, size: f32, color: egui::Color32, _glow_intensity: f32) -> egui::RichText {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cyber_frame` is never used
[INFO] [stdout]    --> src/gui/theme.rs:404:8
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub fn cyber_frame(fill: egui::Color32, stroke_color: egui::Color32) -> egui::Frame {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `neon_frame` is never used
[INFO] [stdout]    --> src/gui/theme.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub fn neon_frame(color: egui::Color32) -> egui::Frame {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_pulse_glow` is never used
[INFO] [stdout]    --> src/gui/theme.rs:422:8
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub fn draw_pulse_glow(painter: &egui::Painter, rect: egui::Rect, color: egui::Color32, intensity: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pulse_color` is never used
[INFO] [stdout]    --> src/gui/theme.rs:445:8
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub fn pulse_color(base_color: egui::Color32, speed: f32, ctx: &egui::Context) -> egui::Color32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_binary_pattern` is never used
[INFO] [stdout]    --> src/gui/theme.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn generate_binary_pattern(length: usize) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_binary_border` is never used
[INFO] [stdout]    --> src/gui/theme.rs:461:8
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub fn draw_binary_border(ui: &mut egui::Ui, rect: egui::Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALLOWED_EXTENSIONS` is never used
[INFO] [stdout]   --> src/secure/mod.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const ALLOWED_EXTENSIONS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidPath`, `FileTooLarge`, `InvalidExtension`, and `PermissionDenied` are never constructed
[INFO] [stdout]   --> src/secure/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum FsError {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 28 |     PathTooLong,
[INFO] [stdout] 29 |     InvalidPath,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     FileTooLarge,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 33 |     InvalidExtension,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     IoError(String),
[INFO] [stdout] 35 |     PermissionDenied,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FsError` 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: method `as_path` is never used
[INFO] [stdout]   --> src/secure/mod.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl ValidatedPath {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 63 |     pub fn as_path(&self) -> &Path {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `allow_read` and `max_file_size` are never read
[INFO] [stdout]   --> src/secure/mod.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct FsController {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 87 |     allow_read: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |     /// Maximum file size allowed
[INFO] [stdout] 89 |     max_file_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_only_meta`, `with_max_size`, `read_dir`, `read_file`, `is_valid_file`, and `scope` are never used
[INFO] [stdout]    --> src/secure/mod.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl FsController {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn read_only_meta(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn with_max_size(mut self, size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn read_dir(&self, path: &ValidatedPath) -> Result<Vec<DirEntry>, FsError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn read_file(&self, path: &ValidatedPath,
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn is_valid_file(&self, path: &ValidatedPath) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn scope(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirEntry` is never constructed
[INFO] [stdout]    --> src/secure/mod.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub struct DirEntry {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalysisConfig` is never constructed
[INFO] [stdout]    --> src/secure/mod.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct AnalysisConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AnalysisMode` is never used
[INFO] [stdout]    --> src/secure/mod.rs:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub enum AnalysisMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalysisRequestBuilder` is never constructed
[INFO] [stdout]    --> src/secure/mod.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct AnalysisRequestBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_modes`, `with_max_size`, `with_excludes`, and `build` are never used
[INFO] [stdout]    --> src/secure/mod.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl AnalysisRequestBuilder {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 284 |     pub fn new(target_path: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn with_modes(mut self, modes: Vec<AnalysisMode>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn with_max_size(mut self, size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn with_excludes(mut self, patterns: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn build(self) -> Result<AnalysisConfig, FsError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANALYZER_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const ANALYZER_TIMEOUT_SECS: u64 = 30;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AnalyzerResult` is never used
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub type AnalyzerResult = Result<Vec<Issue>, AnalyzerError>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AnalyzerError` is never used
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum AnalyzerError {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Analyzer` is never used
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait Analyzer: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalyzerMetadata` is never constructed
[INFO] [stdout]   --> src/secure/analyzer_trait.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct AnalyzerMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SandboxedAnalyzer` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct SandboxedAnalyzer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_timeout`, `analyze_sandboxed`, and `name` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl SandboxedAnalyzer {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 108 |     pub fn new(analyzer: Box<dyn Analyzer>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn with_timeout(mut self, timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn analyze_sandboxed(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalyzerRegistry` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct AnalyzerRegistry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `get_for_language`, and `get_metadata` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl AnalyzerRegistry {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn register(&mut self, analyzer: Box<dyn Analyzer>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn get_for_language(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn get_metadata(&self) -> Vec<AnalyzerMetadata> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompositeAnalyzer` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub struct CompositeAnalyzer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `analyze_all` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl CompositeAnalyzer {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 203 |     pub fn new(analyzers: Vec<Box<dyn Analyzer>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn analyze_all(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalysisContext` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct AnalysisContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `with_content` are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl AnalysisContext {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 245 |     pub fn new(file_path: String, language: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn with_content(mut self, content: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IssueBuilder` is never constructed
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct IssueBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/secure/mod.rs:71:28
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn to_string_lossy(&self) -> std::borrow::Cow<str> {
[INFO] [stdout]    |                            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn to_string_lossy(&self) -> std::borrow::Cow<'_, str> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/secure/analyzer_trait.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | impl IssueBuilder {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 270 |     pub fn new(issue_type: &str, severity: crate::models::Severity) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn line(mut self, line: usize) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn column(mut self, col: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn message(mut self, msg: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn category(mut self, cat: crate::models::Category) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn fix(mut self, fix: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn build(self) -> Issue {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/secure/mod.rs:71:28
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn to_string_lossy(&self) -> std::borrow::Cow<str> {
[INFO] [stdout]    |                            ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn to_string_lossy(&self) -> std::borrow::Cow<'_, str> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 43s
[INFO] running `Command { std: "docker" "inspect" "84339781690a13b5495092963f434e4942f43d00304d7abb5e3c22c50fdfe927", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84339781690a13b5495092963f434e4942f43d00304d7abb5e3c22c50fdfe927", kill_on_drop: false }`
[INFO] [stdout] 84339781690a13b5495092963f434e4942f43d00304d7abb5e3c22c50fdfe927
