[INFO] cloning repository https://github.com/typhoon1217/neoimv [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/typhoon1217/neoimv" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftyphoon1217%2Fneoimv", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftyphoon1217%2Fneoimv'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] abb005508efc4822f7c8d5430efad44a4c5d3bf7 [INFO] checking typhoon1217/neoimv against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftyphoon1217%2Fneoimv" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/typhoon1217/neoimv [INFO] finished tweaking git repo https://github.com/typhoon1217/neoimv [INFO] tweaked toml for git repo https://github.com/typhoon1217/neoimv written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/typhoon1217/neoimv on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/typhoon1217/neoimv 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Downloaded toml_edit v0.25.4+spec-1.1.0 [INFO] [stderr] Downloaded jni v0.22.3 [INFO] [stderr] Downloaded wayland-protocols-misc v0.3.11 [INFO] [stderr] Downloaded jni-macros v0.22.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672 [INFO] running `Command { std: "docker" "start" "c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Checking rustix v1.1.4 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling wayland-sys v0.31.10 [INFO] [stderr] Compiling wayland-backend v0.3.14 [INFO] [stderr] Checking event-listener v5.4.1 [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] Checking piper v0.2.5 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking memoffset v0.9.1 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Checking rustix v0.38.44 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Compiling toml_edit v0.25.4+spec-1.1.0 [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 accesskit v0.17.1 [INFO] [stderr] Checking aligned v0.4.3 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking nom v8.0.0 [INFO] [stderr] Checking core2 v0.4.0 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking async-executor v1.14.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking y4m v0.8.0 [INFO] [stderr] Checking bitstream-io v4.9.0 [INFO] [stderr] Checking async-fs v2.2.0 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Checking immutable-chunkmap v2.1.2 [INFO] [stderr] Checking zune-core v0.5.1 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling wayland-scanner v0.31.9 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking imgref v1.12.0 [INFO] [stderr] Checking neoimv-plugin-sdk v0.1.0 (/opt/rustwide/workdir/neoimv-plugin-sdk) [INFO] [stderr] Checking zune-jpeg v0.5.13 [INFO] [stderr] Checking accesskit_consumer v0.26.0 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Compiling glutin_glx_sys v0.6.1 [INFO] [stderr] Compiling glutin_egl_sys v0.7.1 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking avif-serialize v0.8.8 [INFO] [stderr] Checking rgb v0.8.53 [INFO] [stderr] Checking lebe v0.5.3 [INFO] [stderr] Checking pxfm v0.1.28 [INFO] [stderr] Checking gif v0.14.1 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking png v0.18.1 [INFO] [stderr] Checking uuid v1.22.0 [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 mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking nix v0.29.0 [INFO] [stderr] Checking memmap2 v0.9.10 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking x11-dl v2.21.0 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking natord v1.0.9 [INFO] [stderr] Checking neoimv-test-plugin v0.1.0 (/opt/rustwide/workdir/tests/integration/test_plugin) [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Checking neoimv-plugin-drawer v0.1.0 (/opt/rustwide/workdir/plugins/drawer) [INFO] [stderr] Checking neoimv-plugin-rotate v0.1.0 (/opt/rustwide/workdir/plugins/rotate) [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking async-io v2.6.0 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Checking async-net v2.0.0 [INFO] [stderr] Checking async-process v2.5.0 [INFO] [stderr] Checking moxcms v0.8.1 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zvariant_utils v2.1.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.42 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [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 displaydoc v0.2.5 [INFO] [stderr] Compiling zvariant_derive v4.2.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Checking wayland-protocols v0.32.11 [INFO] [stderr] Compiling zbus_macros v4.4.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Checking wayland-cursor v0.31.13 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling fax_derive v0.2.0 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking aligned-vec v0.6.4 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking v_frame v0.3.9 [INFO] [stderr] Checking fax v0.2.6 [INFO] [stderr] Checking calloop v0.14.4 [INFO] [stderr] Checking av1-grain v0.2.5 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking emath v0.31.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking ecolor v0.31.1 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking glutin v0.32.3 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Checking av-scenechange v0.14.1 [INFO] [stderr] Checking calloop-wayland-source v0.4.1 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking rav1e v0.8.1 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Checking quick-xml v0.30.0 [INFO] [stderr] Checking zvariant_utils v3.3.0 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking zvariant v4.2.0 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking clap v4.6.0 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Compiling zvariant_derive v5.10.0 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Compiling zvariant v5.10.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.11 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.11 [INFO] [stderr] Checking wayland-protocols-misc v0.3.11 [INFO] [stderr] Checking wayland-protocols-experimental v20250721.0.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking webbrowser v1.2.0 [INFO] [stderr] Checking zbus_names v3.0.0 [INFO] [stderr] Checking smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking smithay-client-toolkit v0.20.0 [INFO] [stderr] Checking zbus_xml v4.0.0 [INFO] [stderr] Checking zbus-lockstep v0.4.4 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Compiling zbus-lockstep-macros v0.4.4 [INFO] [stderr] Checking epaint v0.31.1 [INFO] [stderr] Compiling zbus_names v4.3.1 [INFO] [stderr] Checking exr v1.74.0 [INFO] [stderr] Checking tiff v0.11.3 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking ravif v0.13.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking smithay-clipboard v0.7.3 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling zbus_macros v5.14.0 [INFO] [stderr] Checking zbus v4.4.0 [INFO] [stderr] Checking winit v0.30.13 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking egui v0.31.1 [INFO] [stderr] Checking zbus v5.14.0 [INFO] [stderr] Checking image v0.25.10 [INFO] [stderr] Checking glutin-winit v0.5.0 [INFO] [stderr] Checking egui_glow v0.31.1 [INFO] [stderr] Checking atspi-common v0.6.0 [INFO] [stderr] Checking arboard v3.6.1 [INFO] [stderr] Checking ashpd v0.11.1 [INFO] [stderr] Checking atspi-proxies v0.6.0 [INFO] [stderr] Checking accesskit_atspi_common v0.10.1 [INFO] [stderr] Checking atspi-connection v0.6.0 [INFO] [stderr] Checking atspi v0.22.0 [INFO] [stderr] Checking accesskit_unix v0.13.1 [INFO] [stderr] Checking rfd v0.15.4 [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 neoimv v0.1.0 (/opt/rustwide/workdir/neoimv) [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> neoimv/src/core/image_loader.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From` is not satisfied [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:85:47 [INFO] [stdout] | [INFO] [stdout] 85 | ... egui::Stroke::new(2.0, egui::Color32::WHITE), [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 [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` is not satisfied [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:85:47 [INFO] [stdout] | [INFO] [stdout] 85 | ... egui::Stroke::new(2.0, egui::Color32::WHITE), [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 [INFO] [stdout] = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NeoimvApp` is never constructed [INFO] [stdout] --> neoimv/src/app.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct NeoimvApp { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/app.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl NeoimvApp { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 82 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn load_image_animated(&mut self, path: &Path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | fn window_title(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn handle_dropped_files(&mut self, ctx: &egui::Context) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | fn key_event_to_string(key: egui::Key, modifiers: egui::Modifiers) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn handle_input(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | fn dispatch_action(&mut self, ctx: &egui::Context, action_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | fn copy_current_image(&self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | fn copy_current_path(&self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 498 | fn open_rename_dialog(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | fn rename_current_file(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 555 | fn rotate_current(&mut self, ctx: &egui::Context, clockwise: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 601 | fn dispatch_plugin_action(&mut self, egui_ctx: &egui::Context, action_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 675 | fn poll_loader(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 723 | fn tick_animation(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 750 | fn render_plugin_uis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 860 | fn render_rename_dialog(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 896 | fn render_toolbar(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 993 | fn check_viewport_resize(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_name` is never used [INFO] [stdout] --> neoimv/src/app.rs:1130:4 [INFO] [stdout] | [INFO] [stdout] 1130 | fn key_name(key: egui::Key) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_plugin_command` is never used [INFO] [stdout] --> neoimv/src/cli/commands.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn handle_plugin_command( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CoreConfig` is never constructed [INFO] [stdout] --> neoimv/src/config/settings.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct CoreConfig { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_theme` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn default_theme() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_fit` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn default_fit() -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_true` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn default_true() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_filmstrip_position` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn default_filmstrip_position() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_filmstrip_height` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:49:4 [INFO] [stdout] | [INFO] [stdout] 49 | fn default_filmstrip_height() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_font` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn default_font() -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_undo_depth` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:55:4 [INFO] [stdout] | [INFO] [stdout] 55 | fn default_undo_depth() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_undo_memory` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn default_undo_memory() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppConfig` is never constructed [INFO] [stdout] --> neoimv/src/config/settings.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct AppConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `load`, `save`, and `plugin_config_toml` are never used [INFO] [stdout] --> neoimv/src/config/settings.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl AppConfig { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 90 | pub fn load(path: &Path) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn save(&self, path: &Path) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn plugin_config_toml(&self, plugin_name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_dir` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn config_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cache_dir` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn cache_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SettingsPanel` is never constructed [INFO] [stdout] --> neoimv/src/config/ui.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SettingsPanel { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SettingsTab` is never used [INFO] [stdout] --> neoimv/src/config/ui.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | enum SettingsTab { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `toggle`, `is_open`, and `render` are never used [INFO] [stdout] --> neoimv/src/config/ui.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl SettingsPanel { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 24 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn toggle(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn is_open(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_core_settings` is never used [INFO] [stdout] --> neoimv/src/config/ui.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn render_core_settings(ui: &mut Ui, core: &mut CoreConfig) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_plugin_config` is never used [INFO] [stdout] --> neoimv/src/config/ui.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn render_plugin_config( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AnimationFrame` is never constructed [INFO] [stdout] --> neoimv/src/core/animation.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AnimationFrame { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AnimationState` is never constructed [INFO] [stdout] --> neoimv/src/core/animation.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct AnimationState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/core/animation.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl AnimationState { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(frames: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn is_animated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn toggle_playback(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn play(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn pause(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn stop(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn frame_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn current_frame_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn tick(&mut self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn current_frame(&self) -> Option<&AnimationFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn current_delay(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadRequest` is never used [INFO] [stdout] --> neoimv/src/core/background_loader.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum LoadRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadResult` is never used [INFO] [stdout] --> neoimv/src/core/background_loader.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum LoadResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PluginDecoder` is never constructed [INFO] [stdout] --> neoimv/src/core/background_loader.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct PluginDecoder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BackgroundLoader` is never constructed [INFO] [stdout] --> neoimv/src/core/background_loader.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct BackgroundLoader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `request_load` are never used [INFO] [stdout] --> neoimv/src/core/background_loader.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl BackgroundLoader { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn request_load(&self, path: PathBuf) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IMAGE_EXTENSIONS` is never used [INFO] [stdout] --> neoimv/src/core/drag_drop.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const IMAGE_EXTENSIONS: &[&str] = &["png", "jpg", "jpeg", "gif", "webp", "bmp", "tiff", "tif"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_image_extension` is never used [INFO] [stdout] --> neoimv/src/core/drag_drop.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn is_image_extension(ext: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_image_from_dropped` is never used [INFO] [stdout] --> neoimv/src/core/drag_drop.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn first_image_from_dropped(dropped: &[egui::DroppedFile]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THUMB_SIZE` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const THUMB_SIZE: u32 = 128; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Filmstrip` is never constructed [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Filmstrip { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `render`, and `cache_path` are never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Filmstrip { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(cache_dir: PathBuf) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn cache_path(&self, image_path: &Path) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_thumbnail` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn generate_thumbnail(path: &Path, size: u32) -> Result<(Vec, u32, u32), image::ImageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_thumbnail_cache` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn save_thumbnail_cache( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_thumbnail_cache` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn load_thumbnail_cache(path: &Path) -> Result<(Vec, u32, u32), image::ImageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_system_fonts` is never used [INFO] [stdout] --> neoimv/src/core/fonts.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn detect_system_fonts() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `configure_fonts` is never used [INFO] [stdout] --> neoimv/src/core/fonts.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn configure_fonts(ctx: &egui::Context, font_override: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadError` is never used [INFO] [stdout] --> neoimv/src/core/image_loader.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum LoadError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DecodedImage` is never constructed [INFO] [stdout] --> neoimv/src/core/image_loader.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct DecodedImage { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadedImage` is never used [INFO] [stdout] --> neoimv/src/core/image_loader.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum LoadedImage { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image` is never used [INFO] [stdout] --> neoimv/src/core/image_loader.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn load_image(path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_animated` is never used [INFO] [stdout] --> neoimv/src/core/image_loader.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn load_image_animated(path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotate_rgba_cw` is never used [INFO] [stdout] --> neoimv/src/core/image_ops.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn rotate_rgba_cw(pixels: &[u8], width: u32, height: u32) -> Option<(Vec, u32, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotate_rgba_ccw` is never used [INFO] [stdout] --> neoimv/src/core/image_ops.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn rotate_rgba_ccw(pixels: &[u8], width: u32, height: u32) -> Option<(Vec, u32, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rotate_rgba` is never used [INFO] [stdout] --> neoimv/src/core/image_ops.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn rotate_rgba( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IMAGE_EXTENSIONS` is never used [INFO] [stdout] --> neoimv/src/core/navigator.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const IMAGE_EXTENSIONS: &[&str] = &["png", "jpg", "jpeg", "gif", "webp", "bmp", "tiff", "tif"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Navigator` is never constructed [INFO] [stdout] --> neoimv/src/core/navigator.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Navigator { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/core/navigator.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Navigator { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn scan_directory(&mut self, path: &Path) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn current(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn next(&mut self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn prev(&mut self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn count(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn current_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn images(&self) -> &[PathBuf] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn go_to(&mut self, index: usize) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageRenderer` is never constructed [INFO] [stdout] --> neoimv/src/core/renderer.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct ImageRenderer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FitMode` is never used [INFO] [stdout] --> neoimv/src/core/renderer.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum FitMode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/core/renderer.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ImageRenderer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_image(&mut self, ctx: &egui::Context, pixels: &[u8], width: u32, height: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn zoom_in(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn zoom_out(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn set_fit_mode(&mut self, mode: FitMode) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn zoom_level(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn render(&mut self, ui: &mut Ui) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SaveError` is never used [INFO] [stdout] --> neoimv/src/core/save.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum SaveError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_image` is never used [INFO] [stdout] --> neoimv/src/core/save.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn save_image(pixels: &[u8], width: u32, height: u32, path: &Path) -> Result<(), SaveError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_as_dialog` is never used [INFO] [stdout] --> neoimv/src/core/save.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn save_as_dialog(current_path: Option<&Path>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatusInfo` is never constructed [INFO] [stdout] --> neoimv/src/core/statusbar.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct StatusInfo<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_statusbar` is never used [INFO] [stdout] --> neoimv/src/core/statusbar.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn render_statusbar(ui: &mut Ui, info: &StatusInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mutation` is never constructed [INFO] [stdout] --> neoimv/src/core/undo.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Mutation { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `byte_size` is never used [INFO] [stdout] --> neoimv/src/core/undo.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Mutation { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 11 | pub fn byte_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UndoStack` is never constructed [INFO] [stdout] --> neoimv/src/core/undo.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct UndoStack { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/core/undo.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl UndoStack { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 25 | pub fn new(max_depth: usize, memory_cap_mb: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn push(&mut self, mutation: Mutation) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn undo(&mut self) -> Option<&Mutation> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn redo(&mut self) -> Option<&Mutation> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn current(&self) -> Option<&Mutation> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn can_undo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn can_redo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn memory_usage_bytes(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WindowState` is never constructed [INFO] [stdout] --> neoimv/src/core/window.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct WindowState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `default_for_monitor`, `load`, and `save` are never used [INFO] [stdout] --> neoimv/src/core/window.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl WindowState { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 15 | /// Default to 80% of primary monitor size, or 800x600 minimum. [INFO] [stdout] 16 | pub fn default_for_monitor(monitor_width: f32, monitor_height: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn load(path: &Path) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionInfo` is never constructed [INFO] [stdout] --> neoimv/src/keymap/action.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ActionInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionRegistry` is never constructed [INFO] [stdout] --> neoimv/src/keymap/action.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ActionRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/keymap/action.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ActionRegistry { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn register_core_actions(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn register(&mut self, id: String, label: String, category: String, plugin_name: String) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get(&self, id: &str) -> Option<&ActionInfo> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn all_actions(&self) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn actions_for_plugin(&self, plugin_name: &str) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn grouped_actions(&self) -> Vec<(String, Vec<&ActionInfo>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeymapConfig` is never constructed [INFO] [stdout] --> neoimv/src/keymap/config.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct KeymapConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/keymap/config.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl KeymapConfig { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 15 | pub fn load(path: &Path) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn save(&self, path: &Path) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn defaults() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | fn merge_missing_core_defaults(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn action_for_key(&self, key: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn merge_plugin_defaults(&mut self, plugin_name: &str, defaults: &[(String, String)]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn rebind(&mut self, key: String, action: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn unbind_key(&mut self, key: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn bind(&mut self, action: &str, key: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn key_for_action(&self, action: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeymapEditor` is never constructed [INFO] [stdout] --> neoimv/src/keymap/ui.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct KeymapEditor { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `render` are never used [INFO] [stdout] --> neoimv/src/keymap/ui.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl KeymapEditor { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_key_combo` is never used [INFO] [stdout] --> neoimv/src/keymap/ui.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn format_key_combo(mods: egui::Modifiers, key: egui::Key) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_name` is never used [INFO] [stdout] --> neoimv/src/keymap/ui.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn key_name(key: egui::Key) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NeoimvApp` is never constructed [INFO] [stdout] --> neoimv/src/app.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct NeoimvApp { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/app.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl NeoimvApp { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 82 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn load_image_animated(&mut self, path: &Path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | fn window_title(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn handle_dropped_files(&mut self, ctx: &egui::Context) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | fn key_event_to_string(key: egui::Key, modifiers: egui::Modifiers) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | fn handle_input(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | fn dispatch_action(&mut self, ctx: &egui::Context, action_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | fn copy_current_image(&self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | fn copy_current_path(&self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 498 | fn open_rename_dialog(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | fn rename_current_file(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 555 | fn rotate_current(&mut self, ctx: &egui::Context, clockwise: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 601 | fn dispatch_plugin_action(&mut self, egui_ctx: &egui::Context, action_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 675 | fn poll_loader(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 723 | fn tick_animation(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 750 | fn render_plugin_uis(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 860 | fn render_rename_dialog(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 896 | fn render_toolbar(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 993 | fn check_viewport_resize(&mut self, ctx: &egui::Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_name` is never used [INFO] [stdout] --> neoimv/src/app.rs:1130:4 [INFO] [stdout] | [INFO] [stdout] 1130 | fn key_name(key: egui::Key) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_plugin_command` is never used [INFO] [stdout] --> neoimv/src/cli/commands.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn handle_plugin_command( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `load`, `save`, and `plugin_config_toml` are never used [INFO] [stdout] --> neoimv/src/config/settings.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl AppConfig { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 90 | pub fn load(path: &Path) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn save(&self, path: &Path) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn plugin_config_toml(&self, plugin_name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `config_dir` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn config_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cache_dir` is never used [INFO] [stdout] --> neoimv/src/config/settings.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn cache_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SettingsPanel` is never constructed [INFO] [stdout] --> neoimv/src/config/ui.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SettingsPanel { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SettingsTab` is never used [INFO] [stdout] --> neoimv/src/config/ui.rs:16:6 [INFO] [stdout] | [INFO] [stdout] 16 | enum SettingsTab { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `toggle`, `is_open`, and `render` are never used [INFO] [stdout] --> neoimv/src/config/ui.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl SettingsPanel { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 24 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn toggle(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn is_open(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_core_settings` is never used [INFO] [stdout] --> neoimv/src/config/ui.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn render_core_settings(ui: &mut Ui, core: &mut CoreConfig) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_plugin_config` is never used [INFO] [stdout] --> neoimv/src/config/ui.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn render_plugin_config( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pixels`, `width`, and `height` are never read [INFO] [stdout] --> neoimv/src/core/animation.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AnimationFrame { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 4 | pub pixels: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 5 | pub width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | pub height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `play`, `frame_count`, `current_frame`, and `current_delay` are never used [INFO] [stdout] --> neoimv/src/core/animation.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl AnimationState { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn play(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn frame_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn current_frame(&self) -> Option<&AnimationFrame> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn current_delay(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `path` and `pixels` are never read [INFO] [stdout] --> neoimv/src/core/background_loader.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 12 | Loaded { [INFO] [stdout] | ------ fields in this variant [INFO] [stdout] 13 | path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | pixels: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> neoimv/src/core/background_loader.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 18 | Error { [INFO] [stdout] | ----- field in this variant [INFO] [stdout] 19 | path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `first_image_from_dropped` is never used [INFO] [stdout] --> neoimv/src/core/drag_drop.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn first_image_from_dropped(dropped: &[egui::DroppedFile]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `THUMB_SIZE` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const THUMB_SIZE: u32 = 128; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Filmstrip` is never constructed [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Filmstrip { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `render`, and `cache_path` are never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Filmstrip { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(cache_dir: PathBuf) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn cache_path(&self, image_path: &Path) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_thumbnail` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn generate_thumbnail(path: &Path, size: u32) -> Result<(Vec, u32, u32), image::ImageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_thumbnail_cache` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn save_thumbnail_cache( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_thumbnail_cache` is never used [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:151:4 [INFO] [stdout] | [INFO] [stdout] 151 | fn load_thumbnail_cache(path: &Path) -> Result<(Vec, u32, u32), image::ImageError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_system_fonts` is never used [INFO] [stdout] --> neoimv/src/core/fonts.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn detect_system_fonts() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `configure_fonts` is never used [INFO] [stdout] --> neoimv/src/core/fonts.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn configure_fonts(ctx: &egui::Context, font_override: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Unsupported` is never constructed [INFO] [stdout] --> neoimv/src/core/image_loader.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum LoadError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | Unsupported, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoadError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadedImage` is never used [INFO] [stdout] --> neoimv/src/core/image_loader.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum LoadedImage { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_image_animated` is never used [INFO] [stdout] --> neoimv/src/core/image_loader.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn load_image_animated(path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `images` and `go_to` are never used [INFO] [stdout] --> neoimv/src/core/navigator.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Navigator { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn images(&self) -> &[PathBuf] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn go_to(&mut self, index: usize) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageRenderer` is never constructed [INFO] [stdout] --> neoimv/src/core/renderer.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct ImageRenderer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FitMode` is never used [INFO] [stdout] --> neoimv/src/core/renderer.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum FitMode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> neoimv/src/core/renderer.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl ImageRenderer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_image(&mut self, ctx: &egui::Context, pixels: &[u8], width: u32, height: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn zoom_in(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn zoom_out(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn set_fit_mode(&mut self, mode: FitMode) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn zoom_level(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn render(&mut self, ui: &mut Ui) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NoImage` is never constructed [INFO] [stdout] --> neoimv/src/core/save.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum SaveError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 7 | #[error("no image to save")] [INFO] [stdout] 8 | NoImage, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SaveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_as_dialog` is never used [INFO] [stdout] --> neoimv/src/core/save.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn save_as_dialog(current_path: Option<&Path>) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatusInfo` is never constructed [INFO] [stdout] --> neoimv/src/core/statusbar.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct StatusInfo<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_statusbar` is never used [INFO] [stdout] --> neoimv/src/core/statusbar.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn render_statusbar(ui: &mut Ui, info: &StatusInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> neoimv/src/core/undo.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Mutation { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 4 | pub pixels: Vec, // RGBA8, core-owned copy [INFO] [stdout] 5 | pub width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | pub height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `label`, and `category` are never read [INFO] [stdout] --> neoimv/src/keymap/action.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ActionInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 5 | pub id: String, // "core:prev_image" or "rotate:rotate_cw" [INFO] [stdout] | ^^ [INFO] [stdout] 6 | pub label: String, // "Previous Image" [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | pub category: String, // "Navigation" or "Transform" [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActionInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `all_actions`, `actions_for_plugin`, and `grouped_actions` are never used [INFO] [stdout] --> neoimv/src/keymap/action.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ActionRegistry { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn all_actions(&self) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn actions_for_plugin(&self, plugin_name: &str) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn grouped_actions(&self) -> Vec<(String, Vec<&ActionInfo>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `load`, `save`, `unbind_key`, `bind`, and `key_for_action` are never used [INFO] [stdout] --> neoimv/src/keymap/config.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl KeymapConfig { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 15 | pub fn load(path: &Path) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn save(&self, path: &Path) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn unbind_key(&mut self, key: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn bind(&mut self, action: &str, key: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn key_for_action(&self, action: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeymapEditor` is never constructed [INFO] [stdout] --> neoimv/src/keymap/ui.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct KeymapEditor { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `render` are never used [INFO] [stdout] --> neoimv/src/keymap/ui.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl KeymapEditor { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn render( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_key_combo` is never used [INFO] [stdout] --> neoimv/src/keymap/ui.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn format_key_combo(mods: egui::Modifiers, key: egui::Key) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `key_name` is never used [INFO] [stdout] --> neoimv/src/keymap/ui.rs:132:4 [INFO] [stdout] | [INFO] [stdout] 132 | fn key_name(key: egui::Key) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> neoimv/src/core/image_loader.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From` is not satisfied [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:85:47 [INFO] [stdout] | [INFO] [stdout] 85 | ... egui::Stroke::new(2.0, egui::Color32::WHITE), [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 [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` is not satisfied [INFO] [stdout] --> neoimv/src/core/filmstrip.rs:85:47 [INFO] [stdout] | [INFO] [stdout] 85 | ... egui::Stroke::new(2.0, egui::Color32::WHITE), [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 [INFO] [stdout] = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> neoimv/src/core/animation.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl AnimationState { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn is_animated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn toggle_playback(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn play(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn pause(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn stop(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn frame_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn current_frame_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn current_delay(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Unsupported` is never constructed [INFO] [stdout] --> neoimv/src/core/image_loader.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum LoadError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | Unsupported, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoadError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NoImage` is never constructed [INFO] [stdout] --> neoimv/src/core/save.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum SaveError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 7 | #[error("no image to save")] [INFO] [stdout] 8 | NoImage, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SaveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `plugin_name` is never read [INFO] [stdout] --> neoimv/src/core/undo.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Mutation { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 7 | pub plugin_name: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `current`, `can_redo`, `clear`, `depth`, and `memory_usage_bytes` are never used [INFO] [stdout] --> neoimv/src/core/undo.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl UndoStack { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn current(&self) -> Option<&Mutation> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn can_redo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn memory_usage_bytes(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default_for_monitor` is never used [INFO] [stdout] --> neoimv/src/core/window.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl WindowState { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 15 | /// Default to 80% of primary monitor size, or 800x600 minimum. [INFO] [stdout] 16 | pub fn default_for_monitor(monitor_width: f32, monitor_height: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `category` is never read [INFO] [stdout] --> neoimv/src/keymap/action.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ActionInfo { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 7 | pub category: String, // "Navigation" or "Transform" [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActionInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `all_actions`, and `actions_for_plugin` are never used [INFO] [stdout] --> neoimv/src/keymap/action.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ActionRegistry { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get(&self, id: &str) -> Option<&ActionInfo> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn all_actions(&self) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn actions_for_plugin(&self, plugin_name: &str) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `merge_plugin_defaults` is never used [INFO] [stdout] --> neoimv/src/keymap/config.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl KeymapConfig { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn merge_plugin_defaults(&mut self, plugin_name: &str, defaults: &[(String, String)]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fn_on_config_changed` is never read [INFO] [stdout] --> neoimv/src/plugin/ffi.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LoadedPlugin { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 47 | fn_on_config_changed: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `capabilities`, `decode`, and `on_config_changed` are never used [INFO] [stdout] --> neoimv/src/plugin/ffi.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl LoadedPlugin { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn capabilities(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn decode(&self, data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn on_config_changed(&self, config_json: &std::ffi::CString) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unload_plugin`, `plugins_mut`, `decoders_for_extension`, `ui_plugins`, and `action_plugins` are never used [INFO] [stdout] --> neoimv/src/plugin/manager.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl PluginManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn unload_plugin(&mut self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn plugins_mut(&mut self) -> &mut [LoadedPlugin] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn decoders_for_extension(&self, ext: &str) -> Vec<&LoadedPlugin> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn ui_plugins(&self) -> Vec<&LoadedPlugin> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn action_plugins(&self) -> Vec<&LoadedPlugin> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_plugin_dir` is never used [INFO] [stdout] --> neoimv/src/plugin/manager.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn default_plugin_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xdg_data_home_fallback` is never used [INFO] [stdout] --> neoimv/src/plugin/manager.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn xdg_data_home_fallback() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `enabled_plugins` is never used [INFO] [stdout] --> neoimv/src/plugin/registry.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl PluginRegistry { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn enabled_plugins(&self) -> Vec<&PluginEntry> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `play`, `frame_count`, and `current_delay` are never used [INFO] [stdout] --> neoimv/src/core/animation.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl AnimationState { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn play(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn frame_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn current_delay(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Unsupported` is never constructed [INFO] [stdout] --> neoimv/src/core/image_loader.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum LoadError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | Unsupported, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoadError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NoImage` is never constructed [INFO] [stdout] --> neoimv/src/core/save.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum SaveError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 7 | #[error("no image to save")] [INFO] [stdout] 8 | NoImage, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SaveError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `category` is never read [INFO] [stdout] --> neoimv/src/keymap/action.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ActionInfo { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 7 | pub category: String, // "Navigation" or "Transform" [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActionInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `all_actions` and `actions_for_plugin` are never used [INFO] [stdout] --> neoimv/src/keymap/action.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ActionRegistry { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn all_actions(&self) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn actions_for_plugin(&self, plugin_name: &str) -> Vec<&ActionInfo> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fn_on_config_changed` is never read [INFO] [stdout] --> neoimv/src/plugin/ffi.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct LoadedPlugin { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 47 | fn_on_config_changed: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `capabilities`, `decode`, and `on_config_changed` are never used [INFO] [stdout] --> neoimv/src/plugin/ffi.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl LoadedPlugin { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn capabilities(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn decode(&self, data: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn on_config_changed(&self, config_json: &std::ffi::CString) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unload_plugin`, `plugins_mut`, `decoders_for_extension`, `ui_plugins`, and `action_plugins` are never used [INFO] [stdout] --> neoimv/src/plugin/manager.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl PluginManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn unload_plugin(&mut self, name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn plugins_mut(&mut self) -> &mut [LoadedPlugin] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn decoders_for_extension(&self, ext: &str) -> Vec<&LoadedPlugin> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn ui_plugins(&self) -> Vec<&LoadedPlugin> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn action_plugins(&self) -> Vec<&LoadedPlugin> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_plugin_dir` is never used [INFO] [stdout] --> neoimv/src/plugin/manager.rs:135:8 [INFO] [stdout] | [INFO] [stdout] 135 | pub fn default_plugin_dir() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `xdg_data_home_fallback` is never used [INFO] [stdout] --> neoimv/src/plugin/manager.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | fn xdg_data_home_fallback() -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `enabled_plugins` is never used [INFO] [stdout] --> neoimv/src/plugin/registry.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl PluginRegistry { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn enabled_plugins(&self) -> Vec<&PluginEntry> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unused dependency `neoimv-plugin-sdk` [INFO] [stderr] --> plugins/drawer/Cargo.toml:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | neoimv-plugin-sdk = { path = "../../neoimv-plugin-sdk" } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `neoimv-plugin-sdk` [INFO] [stderr] warning: `neoimv-plugin-drawer` (manifest) generated 1 warning [INFO] [stderr] warning: unused dependency `neoimv-plugin-sdk` [INFO] [stderr] --> plugins/rotate/Cargo.toml:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | neoimv-plugin-sdk = { path = "../../neoimv-plugin-sdk" } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `neoimv-plugin-sdk` [INFO] [stderr] warning: `neoimv-plugin-rotate` (manifest) generated 1 warning [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 52s [INFO] running `Command { std: "docker" "inspect" "c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672", kill_on_drop: false }` [INFO] [stdout] c983da8681e3d7fff7d645abe4d0238a56fbadcde06e4c0c3b46a3ea85ca2672