[INFO] fetching crate nexus-tui-client 0.1.0... [INFO] checking nexus-tui-client-0.1.0 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate nexus-tui-client 0.1.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate nexus-tui-client 0.1.0 [INFO] finished tweaking crates.io crate nexus-tui-client 0.1.0 [INFO] tweaked toml for crates.io crate nexus-tui-client 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate nexus-tui-client 0.1.0 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nexus-tui-client 0.1.0 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded nexus-tui-common v0.1.0 [INFO] [stderr] Downloaded figlet-rs v0.1.5 [INFO] [stderr] Downloaded zvariant_derive v5.5.3 [INFO] [stderr] Downloaded mac-notification-sys v0.6.4 [INFO] [stderr] Downloaded zbus_macros v5.7.1 [INFO] [stderr] Downloaded tauri-winrt-notification v0.7.2 [INFO] [stderr] Downloaded notify-rust v4.11.7 [INFO] [stderr] Downloaded zvariant v5.5.3 [INFO] [stderr] Downloaded zbus v5.7.1 [INFO] [stderr] Downloaded emojis v0.6.4 [INFO] [stderr] Downloaded icy_sixel v0.1.3 [INFO] [stderr] Downloaded ratatui-image v8.0.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8f41f11fec2cc1ed6713a61c94d018c14c60e35db9394da04dea6175c1649a39 [INFO] running `Command { std: "docker" "start" "-a" "8f41f11fec2cc1ed6713a61c94d018c14c60e35db9394da04dea6175c1649a39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8f41f11fec2cc1ed6713a61c94d018c14c60e35db9394da04dea6175c1649a39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8f41f11fec2cc1ed6713a61c94d018c14c60e35db9394da04dea6175c1649a39", kill_on_drop: false }` [INFO] [stdout] 8f41f11fec2cc1ed6713a61c94d018c14c60e35db9394da04dea6175c1649a39 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ca6f38b57cd10cdf88bb7fc8f05b430f7af5db88962a3bf6686df299e37f9db2 [INFO] running `Command { std: "docker" "start" "-a" "ca6f38b57cd10cdf88bb7fc8f05b430f7af5db88962a3bf6686df299e37f9db2", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling winnow v0.7.11 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Checking slab v0.4.10 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking event-listener v5.4.0 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking futures-lite v2.6.0 [INFO] [stderr] Checking rustls-pki-types v1.12.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Compiling cc v1.2.27 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Compiling built v0.7.7 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Compiling endi v1.1.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling aws-lc-rs v1.13.1 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking deranged v0.4.0 [INFO] [stderr] Checking symphonia-core v0.5.4 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Checking castaway v0.2.3 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking imgref v1.11.0 [INFO] [stderr] Checking time-core v0.1.4 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Compiling aws-lc-sys v0.29.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking weezl v0.1.10 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking bitstream-io v2.6.0 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking compact_str v0.8.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking symphonia-metadata v0.5.4 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking avif-serialize v0.8.3 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking siphasher v1.0.1 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Compiling rustls v0.22.4 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking unicode-width v0.2.0 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking rgb v0.8.50 [INFO] [stderr] Checking jpeg-decoder v0.3.2 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking exr v1.73.0 [INFO] [stderr] Checking zune-jpeg v0.4.18 [INFO] [stderr] Checking phf_shared v0.11.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.4 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking gif v0.13.3 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking alsa v0.9.1 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Checking image-webp v0.2.3 [INFO] [stderr] Checking blocking v1.6.1 [INFO] [stderr] Checking async-executor v1.13.2 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling rustls v0.23.28 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking symphonia v0.5.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking icy_sixel v0.1.3 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking emojis v0.6.4 [INFO] [stderr] Checking rustls-native-certs v0.7.3 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking figlet-rs v0.1.5 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking rodio v0.17.3 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Checking aligned-vec v0.6.4 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Checking v_frame v0.3.9 [INFO] [stderr] Checking tokio v1.45.1 [INFO] [stderr] Checking av1-grain v0.2.4 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking rustls-webpki v0.102.8 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking polling v3.8.0 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking async-io v2.4.1 [INFO] [stderr] Checking async-signal v0.2.11 [INFO] [stderr] Checking async-process v2.3.1 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking tokio-rustls v0.25.0 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Checking zvariant_utils v3.2.0 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking uuid v1.17.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking ravif v0.11.20 [INFO] [stderr] Compiling zvariant_derive v5.5.3 [INFO] [stderr] Checking image v0.25.6 [INFO] [stderr] Checking chrono-humanize v0.2.3 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking nexus-tui-common v0.1.0 [INFO] [stderr] Compiling zvariant v5.5.3 [INFO] [stderr] Checking ratatui-image v8.0.1 [INFO] [stderr] Checking zbus_names v4.2.0 [INFO] [stderr] Checking rustls-webpki v0.103.3 [INFO] [stderr] Compiling zbus_macros v5.7.1 [INFO] [stderr] Checking zbus v5.7.1 [INFO] [stderr] Checking notify-rust v4.11.7 [INFO] [stderr] Checking nexus-tui-client v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `ListItem` and `List` [INFO] [stdout] --> src/ui/main_menu.rs:3:130 [INFO] [stdout] | [INFO] [stdout] 3 | ...ignment}, style::{Style, Color, Modifier}, widgets::{Block, List, ListItem, Borders, Paragraph, BorderType}, text::{Line, Span}}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ListItem` and `List` [INFO] [stdout] --> src/ui/settings.rs:3:86 [INFO] [stdout] | [INFO] [stdout] 3 | use ratatui::{Frame, layout::Rect, style::{Style, Color, Modifier}, widgets::{Block, List, ListItem, Paragraph, Borders, BorderType, Wrap... [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widgets::Paragraph` [INFO] [stdout] --> src/ui/themes/minimal.rs:1:59 [INFO] [stdout] | [INFO] [stdout] 1 | use ratatui::{Frame, layout::Rect, style::{Style, Color}, widgets::Paragraph}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color`, `Style`, and `widgets::Paragraph` [INFO] [stdout] --> src/ui/backgrounds/none.rs:1:44 [INFO] [stdout] | [INFO] [stdout] 1 | use ratatui::{Frame, layout::Rect, style::{Style, Color}, widgets::Paragraph}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | use tokio_rustls::rustls::{self, ClientConfig as RustlsClientConfig, RootCertStore}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_rustls::rustls::client::danger::ServerCertVerifier` [INFO] [stdout] --> src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use tokio_rustls::rustls::client::danger::ServerCertVerifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ListItem` and `List` [INFO] [stdout] --> src/ui/main_menu.rs:3:130 [INFO] [stdout] | [INFO] [stdout] 3 | ...ignment}, style::{Style, Color, Modifier}, widgets::{Block, List, ListItem, Borders, Paragraph, BorderType}, text::{Line, Span}}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ListItem` and `List` [INFO] [stdout] --> src/ui/settings.rs:3:86 [INFO] [stdout] | [INFO] [stdout] 3 | use ratatui::{Frame, layout::Rect, style::{Style, Color, Modifier}, widgets::{Block, List, ListItem, Paragraph, Borders, BorderType, Wrap... [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `widgets::Paragraph` [INFO] [stdout] --> src/ui/themes/minimal.rs:1:59 [INFO] [stdout] | [INFO] [stdout] 1 | use ratatui::{Frame, layout::Rect, style::{Style, Color}, widgets::Paragraph}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color`, `Style`, and `widgets::Paragraph` [INFO] [stdout] --> src/ui/backgrounds/none.rs:1:44 [INFO] [stdout] | [INFO] [stdout] 1 | use ratatui::{Frame, layout::Rect, style::{Style, Color}, widgets::Paragraph}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/main.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | use tokio_rustls::rustls::{self, ClientConfig as RustlsClientConfig, RootCertStore}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio_rustls::rustls::client::danger::ServerCertVerifier` [INFO] [stdout] --> src/main.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use tokio_rustls::rustls::client::danger::ServerCertVerifier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/desktop_notifications.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | let handle = notification.show()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/desktop_notifications.rs:266:13 [INFO] [stdout] | [INFO] [stdout] 266 | let handle = notification.show()?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::prelude` [INFO] [stdout] --> src/app.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | use chrono::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Engine` [INFO] [stdout] --> src/services/image.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::themes::Theme` [INFO] [stdout] --> src/ui/settings.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ui::themes::Theme; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/app.rs:590:48 [INFO] [stdout] | [INFO] [stdout] 590 | fn handle_legacy_server_message(&mut self, msg: ServerMessage) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/app.rs:910:25 [INFO] [stdout] | [INFO] [stdout] 910 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_buffer` [INFO] [stdout] --> src/services/chat.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | current_buffer: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text_padding` [INFO] [stdout] --> src/services/image.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | let text_padding = 20; // Move text higher up [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_padding` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::prelude` [INFO] [stdout] --> src/app.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | use chrono::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Engine` [INFO] [stdout] --> src/services/image.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::themes::Theme` [INFO] [stdout] --> src/ui/settings.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ui::themes::Theme; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/app.rs:590:48 [INFO] [stdout] | [INFO] [stdout] 590 | fn handle_legacy_server_message(&mut self, msg: ServerMessage) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/app.rs:910:25 [INFO] [stdout] | [INFO] [stdout] 910 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/ui/settings.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let tick = app.ui.tick_count; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_buffer` [INFO] [stdout] --> src/services/chat.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | current_buffer: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text_padding` [INFO] [stdout] --> src/services/image.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | let text_padding = 20; // Move text higher up [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_padding` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/ui/themes/cyberpunk.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 70 | 23..=25 => '◁', [INFO] [stdout] | ------- this range overlaps on `25_u64`... [INFO] [stdout] 71 | 25..=28 => '◀', [INFO] [stdout] | ^^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] = note: `#[warn(overlapping_range_endpoints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/ui/themes/minimal.rs:48:105 [INFO] [stdout] | [INFO] [stdout] 48 | ...t ratatui::widgets::ListState, tick: u64, area: ratatui::layout::Rect) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/ui/themes/minimal.rs:73:113 [INFO] [stdout] | [INFO] [stdout] 73 | ...t ratatui::widgets::ListState, tick: u64, area: ratatui::layout::Rect) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/ui/themes/minimal.rs:137:32 [INFO] [stdout] | [INFO] [stdout] 137 | fn main_menu_layout(&self, area: Rect) -> ThemeMainMenuLayout { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/ui/settings.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let tick = app.ui.tick_count; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera_tilt` [INFO] [stdout] --> src/ui/backgrounds/wireframeearth.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let camera_tilt = 0.0; // No tilt [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_tilt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pz` [INFO] [stdout] --> src/ui/backgrounds/wireframeearth.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some((px, py, pz)) = prev { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pz` [INFO] [stdout] --> src/ui/backgrounds/wireframeearth.rs:63:38 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some((px, py, pz)) = prev { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/ui/backgrounds/none.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | fn draw_background(&self, f: &mut Frame, app: &App, area: Rect) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app` [INFO] [stdout] --> src/ui/backgrounds/none.rs:12:46 [INFO] [stdout] | [INFO] [stdout] 12 | fn draw_background(&self, f: &mut Frame, app: &App, area: Rect) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_app` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/ui/backgrounds/none.rs:12:57 [INFO] [stdout] | [INFO] [stdout] 12 | fn draw_background(&self, f: &mut Frame, app: &App, area: Rect) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server_port` [INFO] [stdout] --> src/main.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let server_port = parts.get(1).cloned().unwrap_or_else(|| "8080".to_string()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/ui/themes/cyberpunk.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 70 | 23..=25 => '◁', [INFO] [stdout] | ------- this range overlaps on `25_u64`... [INFO] [stdout] 71 | 25..=28 => '◀', [INFO] [stdout] | ^^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] = note: `#[warn(overlapping_range_endpoints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RetryConnection` is never constructed [INFO] [stdout] --> src/main.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 56 | enum AppEvent { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 60 | RetryConnection, // New event for connection retry [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `image_cache` and `config` are never read [INFO] [stdout] --> src/app.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct App<'a> { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | pub image_cache: Arc, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub config: AppConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_cache_stats`, `cleanup_cache`, and `clear_cache` are never used [INFO] [stdout] --> src/app.rs:598:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> App<'a> { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 598 | pub fn get_cache_stats(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 603 | pub fn cleanup_cache(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn clear_cache(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `calculate_optimal_buffer_size`, `process_user_avatar`, `batch_process_avatars`, and `get_cache_stats` are never used [INFO] [stdout] --> src/services/chat.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl ChatService { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn calculate_optimal_buffer_size( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn process_user_avatar(&self, user: &User) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn batch_process_avatars(&self, users: &[User]) -> Vec<(uuid::Uuid, Option)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_cache_stats(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `is_command` and `format_mention` are never used [INFO] [stdout] --> src/services/message.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl MessageService { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn is_command(content: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn format_mention(username: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `default_ttl_seconds` and `cleanup_interval_seconds` are never read [INFO] [stdout] --> src/services/image.rs:400:9 [INFO] [stdout] | [INFO] [stdout] 397 | pub struct ImageCacheConfig { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 400 | pub default_ttl_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 401 | pub cleanup_interval_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageCacheConfig` 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: fields `data`, `format`, and `access_count` are never read [INFO] [stdout] --> src/services/image.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 417 | pub struct CachedImage { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 418 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 419 | pub format: ImageFormat, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 423 | pub access_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedImage` 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 `detect_from_data` is never used [INFO] [stdout] --> src/services/image.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 436 | impl ImageFormat { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 437 | /// Detect format from data or mime type [INFO] [stdout] 438 | pub fn detect_from_data(data: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `touch` is never used [INFO] [stdout] --> src/services/image.rs:505:12 [INFO] [stdout] | [INFO] [stdout] 478 | impl CachedImage { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn touch(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UserCoverBanner`, `ServerIcon`, `ServerBanner`, and `Custom` are never constructed [INFO] [stdout] --> src/services/image.rs:518:5 [INFO] [stdout] | [INFO] [stdout] 516 | pub enum ImageCacheKey { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 517 | UserAvatar(Uuid), [INFO] [stdout] 518 | UserCoverBanner(Uuid), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 519 | ServerIcon(Uuid), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 520 | ServerBanner(Uuid), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 521 | Custom(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageCacheKey` 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 functions `user_cover_banner`, `server_icon`, `server_banner`, and `custom` are never used [INFO] [stdout] --> src/services/image.rs:529:12 [INFO] [stdout] | [INFO] [stdout] 524 | impl ImageCacheKey { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 529 | pub fn user_cover_banner(user_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 533 | pub fn server_icon(server_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 537 | pub fn server_banner(server_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 541 | pub fn custom(key: impl Into) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `remove`, `clear`, and `stats` are never used [INFO] [stdout] --> src/services/image.rs:593:12 [INFO] [stdout] | [INFO] [stdout] 553 | impl ImageCache { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 593 | pub fn get(&self, key: &ImageCacheKey) -> Result, String> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 629 | pub fn remove(&self, key: &ImageCacheKey) -> Result, String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 643 | pub fn clear(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 654 | pub fn stats(&self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageCacheStats` is never constructed [INFO] [stdout] --> src/services/image.rs:729:12 [INFO] [stdout] | [INFO] [stdout] 729 | pub struct ImageCacheStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `scroll_lines_per_page`, `notification_timeout_ms`, `min_two_column_width`, and `avatar_pixel_size` are never read [INFO] [stdout] --> src/state/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 18 | pub max_message_length: usize, [INFO] [stdout] 19 | pub scroll_lines_per_page: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub notification_timeout_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub min_two_column_width: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub avatar_pixel_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Network` and `IO` are never constructed [INFO] [stdout] --> src/state/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 40 | Network(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | Validation(String), [INFO] [stdout] 42 | IO(std::io::Error), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `show_thread_navigation` and `thread_nav_selection` are never read [INFO] [stdout] --> src/state/forum.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ForumState { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | pub show_thread_navigation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub thread_nav_selection: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `toggle_thread_navigation`, `get_thread_navigation_items`, `move_thread_nav_selection`, and `jump_to_selected_nav_item` are never used [INFO] [stdout] --> src/state/forum.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl ForumState { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn toggle_thread_navigation(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn get_thread_navigation_items(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn move_thread_nav_selection(&mut self, direction: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn jump_to_selected_nav_item(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ThreadNavItem` is never used [INFO] [stdout] --> src/state/forum.rs:314:10 [INFO] [stdout] | [INFO] [stdout] 314 | pub enum ThreadNavItem<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `profile_image_state` is never read [INFO] [stdout] --> src/state/profile.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ProfileState { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub profile_image_state: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connected_users` is never read [INFO] [stdout] --> src/state/ui.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct UiState { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | pub connected_users: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_settings_background` is never used [INFO] [stdout] --> src/ui/settings.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn draw_settings_background(f: &mut Frame, app: &mut App, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_settings_border` is never used [INFO] [stdout] --> src/ui/settings.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn draw_settings_border(f: &mut Frame, app: &mut App, area: Rect, is_top: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_settings_info_panel` is never used [INFO] [stdout] --> src/ui/settings.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn draw_settings_info_panel(f: &mut Frame, app: &mut App, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThemeColors` is never constructed [INFO] [stdout] --> src/ui/themes/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ThemeColors { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccentColors` is never constructed [INFO] [stdout] --> src/ui/themes/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct AccentColors { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `colors`, `accents`, `border_color`, `selected_style`, and `text_style` are never used [INFO] [stdout] --> src/ui/themes/mod.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub trait Theme { [INFO] [stdout] | ----- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 39 | fn colors(&self) -> ThemeColors; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 40 | /// Accent colors [INFO] [stdout] 41 | fn accents(&self) -> AccentColors; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 42 | /// Border style for blocks [INFO] [stdout] 43 | fn border_color(&self, tick: u64) -> Color; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 44 | /// Style for selected items [INFO] [stdout] 45 | fn selected_style(&self) -> Style; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Style for normal text [INFO] [stdout] 47 | fn text_style(&self) -> Style; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `global_prefs_mut` is never used [INFO] [stdout] --> src/global_prefs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn global_prefs_mut() -> std::sync::RwLockWriteGuard<'static, GlobalPrefs> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/ui/themes/minimal.rs:48:105 [INFO] [stdout] | [INFO] [stdout] 48 | ...t ratatui::widgets::ListState, tick: u64, area: ratatui::layout::Rect) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tick` [INFO] [stdout] --> src/ui/themes/minimal.rs:73:113 [INFO] [stdout] | [INFO] [stdout] 73 | ...t ratatui::widgets::ListState, tick: u64, area: ratatui::layout::Rect) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/ui/themes/minimal.rs:137:32 [INFO] [stdout] | [INFO] [stdout] 137 | fn main_menu_layout(&self, area: Rect) -> ThemeMainMenuLayout { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/state/forum.rs:242:40 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn get_thread_navigation_items(&self) -> Vec { [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] 242 | pub fn get_thread_navigation_items(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `camera_tilt` [INFO] [stdout] --> src/ui/backgrounds/wireframeearth.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let camera_tilt = 0.0; // No tilt [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_tilt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pz` [INFO] [stdout] --> src/ui/backgrounds/wireframeearth.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some((px, py, pz)) = prev { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pz` [INFO] [stdout] --> src/ui/backgrounds/wireframeearth.rs:63:38 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some((px, py, pz)) = prev { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/ui/backgrounds/none.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | fn draw_background(&self, f: &mut Frame, app: &App, area: Rect) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app` [INFO] [stdout] --> src/ui/backgrounds/none.rs:12:46 [INFO] [stdout] | [INFO] [stdout] 12 | fn draw_background(&self, f: &mut Frame, app: &App, area: Rect) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_app` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/ui/backgrounds/none.rs:12:57 [INFO] [stdout] | [INFO] [stdout] 12 | fn draw_background(&self, f: &mut Frame, app: &App, area: Rect) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `server_port` [INFO] [stdout] --> src/main.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | let server_port = parts.get(1).cloned().unwrap_or_else(|| "8080".to_string()); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_server_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RetryConnection` is never constructed [INFO] [stdout] --> src/main.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 56 | enum AppEvent { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 60 | RetryConnection, // New event for connection retry [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `image_cache` and `config` are never read [INFO] [stdout] --> src/app.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct App<'a> { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | pub image_cache: Arc, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub config: AppConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_cache_stats`, `cleanup_cache`, and `clear_cache` are never used [INFO] [stdout] --> src/app.rs:598:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> App<'a> { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 598 | pub fn get_cache_stats(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 603 | pub fn cleanup_cache(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn clear_cache(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `calculate_optimal_buffer_size`, `process_user_avatar`, `batch_process_avatars`, and `get_cache_stats` are never used [INFO] [stdout] --> src/services/chat.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl ChatService { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn calculate_optimal_buffer_size( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn process_user_avatar(&self, user: &User) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn batch_process_avatars(&self, users: &[User]) -> Vec<(uuid::Uuid, Option)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_cache_stats(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `is_command` and `format_mention` are never used [INFO] [stdout] --> src/services/message.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl MessageService { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn is_command(content: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn format_mention(username: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `default_ttl_seconds` and `cleanup_interval_seconds` are never read [INFO] [stdout] --> src/services/image.rs:400:9 [INFO] [stdout] | [INFO] [stdout] 397 | pub struct ImageCacheConfig { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 400 | pub default_ttl_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 401 | pub cleanup_interval_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageCacheConfig` 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: fields `data`, `format`, and `access_count` are never read [INFO] [stdout] --> src/services/image.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 417 | pub struct CachedImage { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 418 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 419 | pub format: ImageFormat, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 423 | pub access_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedImage` 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 `detect_from_data` is never used [INFO] [stdout] --> src/services/image.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 436 | impl ImageFormat { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 437 | /// Detect format from data or mime type [INFO] [stdout] 438 | pub fn detect_from_data(data: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `touch` is never used [INFO] [stdout] --> src/services/image.rs:505:12 [INFO] [stdout] | [INFO] [stdout] 478 | impl CachedImage { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn touch(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UserCoverBanner`, `ServerIcon`, `ServerBanner`, and `Custom` are never constructed [INFO] [stdout] --> src/services/image.rs:518:5 [INFO] [stdout] | [INFO] [stdout] 516 | pub enum ImageCacheKey { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 517 | UserAvatar(Uuid), [INFO] [stdout] 518 | UserCoverBanner(Uuid), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 519 | ServerIcon(Uuid), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 520 | ServerBanner(Uuid), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 521 | Custom(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageCacheKey` 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 functions `user_cover_banner`, `server_icon`, `server_banner`, and `custom` are never used [INFO] [stdout] --> src/services/image.rs:529:12 [INFO] [stdout] | [INFO] [stdout] 524 | impl ImageCacheKey { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 529 | pub fn user_cover_banner(user_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 533 | pub fn server_icon(server_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 537 | pub fn server_banner(server_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 541 | pub fn custom(key: impl Into) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `remove`, `clear`, and `stats` are never used [INFO] [stdout] --> src/services/image.rs:593:12 [INFO] [stdout] | [INFO] [stdout] 553 | impl ImageCache { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 593 | pub fn get(&self, key: &ImageCacheKey) -> Result, String> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 629 | pub fn remove(&self, key: &ImageCacheKey) -> Result, String> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 643 | pub fn clear(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 654 | pub fn stats(&self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageCacheStats` is never constructed [INFO] [stdout] --> src/services/image.rs:729:12 [INFO] [stdout] | [INFO] [stdout] 729 | pub struct ImageCacheStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `scroll_lines_per_page`, `notification_timeout_ms`, `min_two_column_width`, and `avatar_pixel_size` are never read [INFO] [stdout] --> src/state/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 18 | pub max_message_length: usize, [INFO] [stdout] 19 | pub scroll_lines_per_page: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub notification_timeout_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub min_two_column_width: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub avatar_pixel_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Network` and `IO` are never constructed [INFO] [stdout] --> src/state/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 40 | Network(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 41 | Validation(String), [INFO] [stdout] 42 | IO(std::io::Error), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `show_thread_navigation` and `thread_nav_selection` are never read [INFO] [stdout] --> src/state/forum.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ForumState { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | pub show_thread_navigation: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub thread_nav_selection: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `toggle_thread_navigation`, `get_thread_navigation_items`, `move_thread_nav_selection`, and `jump_to_selected_nav_item` are never used [INFO] [stdout] --> src/state/forum.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl ForumState { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn toggle_thread_navigation(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn get_thread_navigation_items(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn move_thread_nav_selection(&mut self, direction: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn jump_to_selected_nav_item(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ThreadNavItem` is never used [INFO] [stdout] --> src/state/forum.rs:314:10 [INFO] [stdout] | [INFO] [stdout] 314 | pub enum ThreadNavItem<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `profile_image_state` is never read [INFO] [stdout] --> src/state/profile.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ProfileState { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub profile_image_state: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connected_users` is never read [INFO] [stdout] --> src/state/ui.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct UiState { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | pub connected_users: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_settings_background` is never used [INFO] [stdout] --> src/ui/settings.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn draw_settings_background(f: &mut Frame, app: &mut App, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_settings_border` is never used [INFO] [stdout] --> src/ui/settings.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn draw_settings_border(f: &mut Frame, app: &mut App, area: Rect, is_top: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_settings_info_panel` is never used [INFO] [stdout] --> src/ui/settings.rs:105:4 [INFO] [stdout] | [INFO] [stdout] 105 | fn draw_settings_info_panel(f: &mut Frame, app: &mut App, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ThemeColors` is never constructed [INFO] [stdout] --> src/ui/themes/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ThemeColors { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccentColors` is never constructed [INFO] [stdout] --> src/ui/themes/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct AccentColors { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `colors`, `accents`, `border_color`, `selected_style`, and `text_style` are never used [INFO] [stdout] --> src/ui/themes/mod.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub trait Theme { [INFO] [stdout] | ----- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 39 | fn colors(&self) -> ThemeColors; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 40 | /// Accent colors [INFO] [stdout] 41 | fn accents(&self) -> AccentColors; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 42 | /// Border style for blocks [INFO] [stdout] 43 | fn border_color(&self, tick: u64) -> Color; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 44 | /// Style for selected items [INFO] [stdout] 45 | fn selected_style(&self) -> Style; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Style for normal text [INFO] [stdout] 47 | fn text_style(&self) -> Style; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `global_prefs_mut` is never used [INFO] [stdout] --> src/global_prefs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn global_prefs_mut() -> std::sync::RwLockWriteGuard<'static, GlobalPrefs> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/state/forum.rs:242:40 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn get_thread_navigation_items(&self) -> Vec { [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] 242 | pub fn get_thread_navigation_items(&self) -> Vec> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s [INFO] running `Command { std: "docker" "inspect" "ca6f38b57cd10cdf88bb7fc8f05b430f7af5db88962a3bf6686df299e37f9db2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca6f38b57cd10cdf88bb7fc8f05b430f7af5db88962a3bf6686df299e37f9db2", kill_on_drop: false }` [INFO] [stdout] ca6f38b57cd10cdf88bb7fc8f05b430f7af5db88962a3bf6686df299e37f9db2