[INFO] cloning repository https://github.com/St33f3n/Opencontroller [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/St33f3n/Opencontroller" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSt33f3n%2FOpencontroller", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSt33f3n%2FOpencontroller'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 570156d215fe17e32c0a833a1a422c7c0ac92904 [INFO] testing St33f3n/Opencontroller against beta-2025-09-21 for beta-1.91-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSt33f3n%2FOpencontroller" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/St33f3n/Opencontroller [INFO] finished tweaking git repo https://github.com/St33f3n/Opencontroller [INFO] tweaked toml for git repo https://github.com/St33f3n/Opencontroller written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/St33f3n/Opencontroller on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/St33f3n/Opencontroller 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 971f52a746efe2fde35de3c4af2c6af6ccaaba59d23e7088f2a4df5602027954 [INFO] running `Command { std: "docker" "start" "-a" "971f52a746efe2fde35de3c4af2c6af6ccaaba59d23e7088f2a4df5602027954", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "971f52a746efe2fde35de3c4af2c6af6ccaaba59d23e7088f2a4df5602027954", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "971f52a746efe2fde35de3c4af2c6af6ccaaba59d23e7088f2a4df5602027954", kill_on_drop: false }` [INFO] [stdout] 971f52a746efe2fde35de3c4af2c6af6ccaaba59d23e7088f2a4df5602027954 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 961996232d30bb058e22a44d6af0f0b38ccd96b4ec16d2b6d9cbc54ed18cd2ea [INFO] running `Command { std: "docker" "start" "-a" "961996232d30bb058e22a44d6af0f0b38ccd96b4ec16d2b6d9cbc54ed18cd2ea", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling libc v0.2.170 [INFO] [stderr] Compiling bitflags v2.8.0 [INFO] [stderr] Compiling log v0.4.26 [INFO] [stderr] Compiling smallvec v1.14.0 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling cc v1.2.15 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling winnow v0.7.3 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling libloading v0.8.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling indexmap v2.7.1 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling dlib v0.5.2 [INFO] [stderr] Compiling wayland-sys v0.31.6 [INFO] [stderr] Compiling endi v1.1.0 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling event-listener v5.4.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling wayland-backend v0.3.8 [INFO] [stderr] Compiling event-listener-strategy v0.5.3 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling quick-xml v0.37.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling wayland-client v0.31.8 [INFO] [stderr] Compiling futures-lite v2.6.0 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling toml_edit v0.22.24 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling async-lock v3.4.0 [INFO] [stderr] Compiling wayland-scanner v0.31.6 [INFO] [stderr] Compiling async-channel v2.3.1 [INFO] [stderr] Compiling blocking v1.6.1 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling ttf-parser v0.25.1 [INFO] [stderr] Compiling async-fs v2.1.2 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling proc-macro-crate v3.2.0 [INFO] [stderr] Compiling async-executor v1.13.1 [INFO] [stderr] Compiling xdg-home v1.3.0 [INFO] [stderr] Compiling zvariant_utils v2.1.0 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling ordered-stream v0.2.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling xml-rs v0.8.25 [INFO] [stderr] Compiling foldhash v0.1.4 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling xkeysym v0.2.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Compiling xcursor v0.3.8 [INFO] [stderr] Compiling memmap2 v0.9.5 [INFO] [stderr] Compiling arrayref v0.3.9 [INFO] [stderr] Compiling ring v0.17.11 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling x11rb-protocol v0.13.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling miniz_oxide v0.8.5 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling enumflags2_derive v0.7.11 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zvariant_derive v4.2.0 [INFO] [stderr] Compiling polling v3.7.4 [INFO] [stderr] Compiling bytemuck_derive v1.8.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling bytemuck v1.21.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling async-io v2.4.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling wayland-protocols v0.32.6 [INFO] [stderr] Compiling serde_repr v0.1.19 [INFO] [stderr] Compiling zbus_macros v4.4.0 [INFO] [stderr] Compiling enumflags2 v0.7.11 [INFO] [stderr] Compiling quick-xml v0.30.0 [INFO] [stderr] Compiling zvariant v4.2.0 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling async-trait v0.1.86 [INFO] [stderr] Compiling owned_ttf_parser v0.25.0 [INFO] [stderr] Compiling ab_glyph v0.2.29 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling calloop v0.13.0 [INFO] [stderr] Compiling zbus_names v3.0.0 [INFO] [stderr] Compiling zbus_xml v4.0.0 [INFO] [stderr] Compiling enumn v0.1.14 [INFO] [stderr] Compiling accesskit v0.17.1 [INFO] [stderr] Compiling calloop-wayland-source v0.3.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling zbus-lockstep v0.4.4 [INFO] [stderr] Compiling wayland-protocols-wlr v0.3.6 [INFO] [stderr] Compiling zbus-lockstep-macros v0.4.4 [INFO] [stderr] Compiling zbus v4.4.0 [INFO] [stderr] Compiling wayland-cursor v0.31.8 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling wayland-csd-frame v0.3.0 [INFO] [stderr] Compiling tiny-skia-path v0.11.4 [INFO] [stderr] Compiling x11rb v0.13.1 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling tiny-skia v0.11.4 [INFO] [stderr] Compiling emath v0.31.1 [INFO] [stderr] Compiling immutable-chunkmap v2.0.6 [INFO] [stderr] Compiling winit v0.30.9 [INFO] [stderr] Compiling raw-window-handle v0.6.2 [INFO] [stderr] Compiling rustls-pki-types v1.11.0 [INFO] [stderr] Compiling accesskit_consumer v0.26.0 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling flate2 v1.1.0 [INFO] [stderr] Compiling sctk-adwaita v0.10.1 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling ecolor v0.31.1 [INFO] [stderr] Compiling wayland-protocols-plasma v0.3.6 [INFO] [stderr] Compiling xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling glutin_egl_sys v0.7.1 [INFO] [stderr] Compiling glutin_glx_sys v0.6.1 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling smol_str v0.2.2 [INFO] [stderr] Compiling epaint_default_fonts v0.31.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling profiling v1.0.16 [INFO] [stderr] Compiling dpi v0.1.1 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling png v0.17.16 [INFO] [stderr] Compiling epaint v0.31.1 [INFO] [stderr] Compiling atspi-common v0.6.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling socket2 v0.5.8 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling glutin v0.32.2 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling rustls v0.22.4 [INFO] [stderr] Compiling tokio v1.44.2 [INFO] [stderr] Compiling image v0.25.5 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling egui v0.31.1 [INFO] [stderr] Compiling atspi-proxies v0.6.0 [INFO] [stderr] Compiling accesskit_atspi_common v0.10.1 [INFO] [stderr] Compiling ptr_meta_derive v0.1.4 [INFO] [stderr] Compiling rustls-webpki v0.102.8 [INFO] [stderr] Compiling atspi-connection v0.6.0 [INFO] [stderr] Compiling atspi v0.22.0 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling accesskit_unix v0.13.1 [INFO] [stderr] Compiling backtrace v0.3.71 [INFO] [stderr] Compiling glutin-winit v0.5.0 [INFO] [stderr] Compiling rkyv v0.7.45 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling gimli v0.28.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling statum-core v0.1.48 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling webbrowser v1.0.3 [INFO] [stderr] Compiling snafu-derive v0.8.5 [INFO] [stderr] Compiling miniz_oxide v0.7.4 [INFO] [stderr] Compiling addr2line v0.21.0 [INFO] [stderr] Compiling inotify v0.11.0 [INFO] [stderr] Compiling ptr_meta v0.1.4 [INFO] [stderr] Compiling accesskit_winit v0.23.1 [INFO] [stderr] Compiling arboard v3.4.1 [INFO] [stderr] Compiling tracing-error v0.2.1 [INFO] [stderr] Compiling rkyv_derive v0.7.45 [INFO] [stderr] Compiling rustls-pemfile v2.2.0 [INFO] [stderr] Compiling smithay-clipboard v0.7.2 [INFO] [stderr] Compiling serde_spanned v0.6.8 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling object v0.32.2 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling uuid v1.15.1 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling rustc-demangle v0.1.24 [INFO] [stderr] Compiling glow v0.16.0 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling gilrs v0.11.0 [INFO] [stderr] Compiling indenter v0.3.3 [INFO] [stderr] Compiling owo-colors v3.5.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling egui-winit v0.31.1 [INFO] [stderr] Compiling document-features v0.2.11 [INFO] [stderr] Compiling gilrs-core v0.6.2 [INFO] [stderr] Compiling color-spantrace v0.2.1 [INFO] [stderr] Compiling egui_glow v0.31.1 [INFO] [stderr] Compiling crc v3.2.1 [INFO] [stderr] Compiling rustls-native-certs v0.7.3 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling tokio-rustls v0.25.0 [INFO] [stderr] Compiling snafu v0.8.5 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling statum-macros v0.1.48 [INFO] [stderr] Compiling bitfield v0.14.0 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Compiling rumqttc v0.24.0 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling color-eyre v0.6.3 [INFO] [stderr] Compiling statum v0.1.48 [INFO] [stderr] Compiling crsf v2.0.1 [INFO] [stderr] Compiling eframe v0.31.1 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling tokio-util v0.7.13 [INFO] [stderr] Compiling rppal v0.22.1 [INFO] [stderr] Compiling toml v0.8.20 [INFO] [stderr] Compiling opencontroller v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/controller/controller_handle.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/mapping/custom.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/mapping/elrs.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/mapping/keyboard.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mapping::custom::CustomConfig` [INFO] [stdout] --> src/mapping/manager.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::mapping::custom::CustomConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rumqttc::tokio_rustls::rustls::KeyLog` [INFO] [stdout] --> src/mapping/manager.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use rumqttc::tokio_rustls::rustls::KeyLog; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/mapping/manager.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::SecondsFormat` [INFO] [stdout] --> src/mqtt/config.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use chrono::SecondsFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `message_manager` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | use super::{config, message_manager}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | use crate::persistence; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDateTime` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | use chrono::NaiveDateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Incoming`, `MqttState`, and `PacketType` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:72:36 [INFO] [stdout] | [INFO] [stdout] 72 | AsyncClient, Event, EventLoop, Incoming, MqttOptions, MqttState, Packet, PacketType, QoS, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::time` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | use tracing_subscriber::fmt::time; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mqtt::mqtt_handler::Configured` [INFO] [stdout] --> src/persistence/persistence_worker.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use crate::mqtt::mqtt_handler::Configured; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConfigResult` and `PortalAction` [INFO] [stdout] --> src/persistence/persistence_worker.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | config_portal::{ConfigPortal, ConfigResult, PortalAction}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Receiver` [INFO] [stdout] --> src/persistence/persistence_worker.rs:35:34 [INFO] [stdout] | [INFO] [stdout] 35 | use tokio::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stdout] --> src/persistence/persistence_worker.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Result` and `eyre` [INFO] [stdout] --> src/persistence/mod.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | use color_eyre::eyre::{eyre, Result}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/persistence/mod.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vec2` and `vec2` [INFO] [stdout] --> src/ui/common.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | use eframe::egui::{self, vec2, Color32, Frame, Stroke, Vec2}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color32`, `Layout`, `Vec2`, and `self` [INFO] [stdout] --> src/ui/elrs_menu.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | use eframe::egui::{self, Color32, ComboBox, Frame, Layout, Stroke, Ui, Vec2}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence::session_client::SessionClient` [INFO] [stdout] --> src/ui/main_menu.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | use crate::persistence::session_client::SessionClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color32` [INFO] [stdout] --> src/ui/main_menu.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | use eframe::egui::{self, vec2, Color32, Frame, Label, ScrollArea, Stroke, TextEdit, Ui}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/ui/main_menu.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ops::Deref` and `str::FromStr` [INFO] [stdout] --> src/ui/main_menu.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | use std::{ops::Deref, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `info` [INFO] [stdout] --> src/ui/main_menu.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SessionData` [INFO] [stdout] --> src/ui/main_menu.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | use super::common::{SessionData, UiColors}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `watch` [INFO] [stdout] --> src/ui/mqtt_menu.rs:88:25 [INFO] [stdout] | [INFO] [stdout] 88 | use tokio::sync::{mpsc, watch}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/ui/mqtt_menu.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color32` [INFO] [stdout] --> src/ui/settings_menu.rs:75:26 [INFO] [stdout] | [INFO] [stdout] 75 | use eframe::egui::{self, Color32, DragValue, Frame, Slider, Stroke, TextEdit, Ui}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color32`, `Context`, `Event`, and `Layout` [INFO] [stdout] --> src/ui/mod.rs:104:34 [INFO] [stdout] | [INFO] [stdout] 104 | use eframe::egui::{self, Button, Color32, Context, Event, Layout, Vec2}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/ui/mod.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mqtt::config::MqttConfig` [INFO] [stdout] --> src/ui/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | use crate::mqtt::config::MqttConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConfigResult` [INFO] [stdout] --> src/ui/mod.rs:112:55 [INFO] [stdout] | [INFO] [stdout] 112 | use crate::persistence::config_portal::{ConfigPortal, ConfigResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence::session_client::SessionClient` [INFO] [stdout] --> src/ui/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | use crate::persistence::session_client::SessionClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `keyboard::KeyboardConfig` [INFO] [stdout] --> src/main.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::mapping::{keyboard::KeyboardConfig, MappingEngineManager}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence::config_portal::ConfigPortal` [INFO] [stdout] --> src/main.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::persistence::config_portal::ConfigPortal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mqtt::config::MqttConfig` [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use mqtt::config::MqttConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/main.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error`, `info`, and `warn` [INFO] [stdout] --> src/main.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | use tracing::{debug, error, info, warn, Level}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ui::MQTTServer` [INFO] [stdout] --> src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use ui::MQTTServer; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_check` is never read [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | last_check = std::time::Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mapping::MappingStrategy` [INFO] [stdout] --> src/mapping/manager.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::mapping::MappingStrategy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ui` [INFO] [stdout] --> src/ui/common.rs:170:21 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn create_frame(ui: &mut egui::Ui, bg_color: Color32, border_color: Color32) -> Frame { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ui` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/ui/main_menu.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | let result = session_action!(@create, self.session_sender, session_name); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/ui/main_menu.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let result = session_action!(@load, self.session_sender, name); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/ui/main_menu.rs:315:13 [INFO] [stdout] | [INFO] [stdout] 315 | let result = session_action!(@delete, self.session_sender, name); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `validation` is never read [INFO] [stdout] --> src/ui/mqtt_menu.rs:649:33 [INFO] [stdout] | [INFO] [stdout] 649 | let mut validation = false; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/ui/mod.rs:350:47 [INFO] [stdout] | [INFO] [stdout] 350 | fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elrs_rx` [INFO] [stdout] --> src/main.rs:115:19 [INFO] [stdout] | [INFO] [stdout] 115 | let (elrs_tx, elrs_rx) = mpsc::channel(100); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elrs_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `custom_rx` [INFO] [stdout] --> src/main.rs:116:21 [INFO] [stdout] | [INFO] [stdout] 116 | let (custom_tx, custom_rx) = mpsc::channel(100); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `activate_mqtt_tx` [INFO] [stdout] --> src/main.rs:119:10 [INFO] [stdout] | [INFO] [stdout] 119 | let (activate_mqtt_tx, activate_mqtt_rx) = watch::channel(true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_activate_mqtt_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `state_sender` is never read [INFO] [stdout] --> src/controller/event_processor.rs:651:5 [INFO] [stdout] | [INFO] [stdout] 650 | pub struct ProcessorHandle { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 651 | state_sender: mpsc::Sender, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `context` is never read [INFO] [stdout] --> src/mapping/custom.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct CustomStrategy { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 180 | context: MappingContext, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `context` is never read [INFO] [stdout] --> src/mapping/elrs.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 374 | pub struct ELRSStrategy { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 375 | config: ELRSConfig, [INFO] [stdout] 376 | context: MappingContext, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `worker_handle` and `autosave_handle` are never read [INFO] [stdout] --> src/persistence/persistence_worker.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct PersistenceManager { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 72 | worker_handle: tokio::task::JoinHandle<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 73 | /// Handle to the autosave task for independent cleanup [INFO] [stdout] 74 | autosave_handle: tokio::task::JoinHandle<()>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config_portal` and `session_sender` are never read [INFO] [stdout] --> src/ui/mod.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 162 | pub struct OpencontrollerUI { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 188 | config_portal: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | session_sender: mpsc::Sender, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `log_controller_state` is never used [INFO] [stdout] --> src/ui/mod.rs:266:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl OpencontrollerUI { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | fn log_controller_state(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transmitter_port` is never read [INFO] [stdout] --> src/ui/elrs_menu.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct ELRSMenuData { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 76 | /// Current transmitter port identifier (placeholder) [INFO] [stdout] 77 | transmitter_port: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config_portal` is never read [INFO] [stdout] --> src/ui/main_menu.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct MainMenuData { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 89 | /// Direct access to configuration portal for immediate reads [INFO] [stdout] 90 | config_portal: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delet_session` is never used [INFO] [stdout] --> src/ui/main_menu.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl MainMenuData { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 314 | fn delet_session(&mut self, name: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | / eframe::run_native( [INFO] [stdout] 163 | | "OpenController", [INFO] [stdout] 164 | | native_options, [INFO] [stdout] 165 | | Box::new(|cc| { [INFO] [stdout] ... | [INFO] [stdout] 174 | | }), [INFO] [stdout] 175 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 162 | let _ = eframe::run_native( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 288 | | *guard = session_config; [INFO] [stdout] 289 | | Ok::(ConfigResult::Success) [INFO] [stdout] 290 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 287 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 293 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 294 | | guard.session_name = name; [INFO] [stdout] 295 | | Ok::(ConfigResult::Success) [INFO] [stdout] 296 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 293 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 300 | | guard.last_session = last_session; [INFO] [stdout] 301 | | Ok::(ConfigResult::Success) [INFO] [stdout] 302 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 299 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 306 | | guard.path = path; [INFO] [stdout] 307 | | Ok::(ConfigResult::Success) [INFO] [stdout] 308 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 305 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 311 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 312 | | guard.available_sessions = sessions; [INFO] [stdout] 313 | | Ok::(ConfigResult::Success) [INFO] [stdout] 314 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 311 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] 335 | | *guard = ui_config; [INFO] [stdout] 336 | | Ok::(ConfigResult::Success) [INFO] [stdout] 337 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 334 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:340:17 [INFO] [stdout] | [INFO] [stdout] 340 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] 341 | | guard.theme = theme; [INFO] [stdout] 342 | | Ok::(ConfigResult::Success) [INFO] [stdout] 343 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 340 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] 347 | | guard.fps = fps; [INFO] [stdout] 348 | | Ok::(ConfigResult::Success) [INFO] [stdout] 349 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 346 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:369:17 [INFO] [stdout] | [INFO] [stdout] 369 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] 370 | | guard.elrs_mapping = elrs_config; [INFO] [stdout] 371 | | Ok::(ConfigResult::Success) [INFO] [stdout] 372 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 369 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:375:17 [INFO] [stdout] | [INFO] [stdout] 375 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] 376 | | guard.keyboard_mapping = keyboard_config; [INFO] [stdout] 377 | | Ok::(ConfigResult::Success) [INFO] [stdout] 378 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 375 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] 382 | | *guard = controller_config; [INFO] [stdout] 383 | | Ok::(ConfigResult::Success) [INFO] [stdout] 384 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 381 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:399:17 [INFO] [stdout] | [INFO] [stdout] 399 | / try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] 400 | | guard.mqtt_config = mqtt_config; [INFO] [stdout] 401 | | Ok::(ConfigResult::Success) [INFO] [stdout] 402 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 399 | let _ = try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:405:17 [INFO] [stdout] | [INFO] [stdout] 405 | / try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] 406 | | *guard = connection_config; [INFO] [stdout] 407 | | Ok::(ConfigResult::Success) [INFO] [stdout] 408 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 405 | let _ = try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:423:17 [INFO] [stdout] | [INFO] [stdout] 423 | / try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] 424 | | *guard = saved_messages; [INFO] [stdout] 425 | | Ok::(ConfigResult::Success) [INFO] [stdout] 426 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 423 | let _ = try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:429:17 [INFO] [stdout] | [INFO] [stdout] 429 | / try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] 430 | | guard.msg = messages; [INFO] [stdout] 431 | | Ok::(ConfigResult::Success) [INFO] [stdout] 432 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 429 | let _ = try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | self.save_current_session().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 516 | let _ = self.save_current_session().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:531:17 [INFO] [stdout] | [INFO] [stdout] 531 | / new_session [INFO] [stdout] 532 | | .save_current_session() [INFO] [stdout] 533 | | .await [INFO] [stdout] 534 | | .map_err(|_e| eyre!("Failed to save loaded session")); [INFO] [stdout] | |_________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 531 | let _ = new_session [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:614:13 [INFO] [stdout] | [INFO] [stdout] 614 | self.clone().change_session(&last_session).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 614 | let _ = self.clone().change_session(&last_session).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 657 | config.save_current_session().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 657 | let _ = config.save_current_session().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 35s [INFO] running `Command { std: "docker" "inspect" "961996232d30bb058e22a44d6af0f0b38ccd96b4ec16d2b6d9cbc54ed18cd2ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "961996232d30bb058e22a44d6af0f0b38ccd96b4ec16d2b6d9cbc54ed18cd2ea", kill_on_drop: false }` [INFO] [stdout] 961996232d30bb058e22a44d6af0f0b38ccd96b4ec16d2b6d9cbc54ed18cd2ea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1827f4381ff0a5267c29a387ee9ca139c2c29553cedbec96aae2b8ade2dff42f [INFO] running `Command { std: "docker" "start" "-a" "1827f4381ff0a5267c29a387ee9ca139c2c29553cedbec96aae2b8ade2dff42f", kill_on_drop: false }` [INFO] [stderr] Compiling opencontroller v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/controller/controller_handle.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/mapping/custom.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/mapping/elrs.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/mapping/keyboard.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mapping::custom::CustomConfig` [INFO] [stdout] --> src/mapping/manager.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::mapping::custom::CustomConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rumqttc::tokio_rustls::rustls::KeyLog` [INFO] [stdout] --> src/mapping/manager.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use rumqttc::tokio_rustls::rustls::KeyLog; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/mapping/manager.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::SecondsFormat` [INFO] [stdout] --> src/mqtt/config.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use chrono::SecondsFormat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `message_manager` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | use super::{config, message_manager}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | use crate::persistence; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::NaiveDateTime` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | use chrono::NaiveDateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Incoming`, `MqttState`, and `PacketType` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:72:36 [INFO] [stdout] | [INFO] [stdout] 72 | AsyncClient, Event, EventLoop, Incoming, MqttOptions, MqttState, Packet, PacketType, QoS, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing_subscriber::fmt::time` [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | use tracing_subscriber::fmt::time; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mqtt::mqtt_handler::Configured` [INFO] [stdout] --> src/persistence/persistence_worker.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use crate::mqtt::mqtt_handler::Configured; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConfigResult` and `PortalAction` [INFO] [stdout] --> src/persistence/persistence_worker.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | config_portal::{ConfigPortal, ConfigResult, PortalAction}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Receiver` [INFO] [stdout] --> src/persistence/persistence_worker.rs:35:34 [INFO] [stdout] | [INFO] [stdout] 35 | use tokio::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stdout] --> src/persistence/persistence_worker.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Result` and `eyre` [INFO] [stdout] --> src/persistence/mod.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | use color_eyre::eyre::{eyre, Result}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/persistence/mod.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vec2` and `vec2` [INFO] [stdout] --> src/ui/common.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | use eframe::egui::{self, vec2, Color32, Frame, Stroke, Vec2}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color32`, `Layout`, `Vec2`, and `self` [INFO] [stdout] --> src/ui/elrs_menu.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | use eframe::egui::{self, Color32, ComboBox, Frame, Layout, Stroke, Ui, Vec2}; [INFO] [stdout] | ^^^^ ^^^^^^^ ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence::session_client::SessionClient` [INFO] [stdout] --> src/ui/main_menu.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | use crate::persistence::session_client::SessionClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color32` [INFO] [stdout] --> src/ui/main_menu.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 55 | use eframe::egui::{self, vec2, Color32, Frame, Label, ScrollArea, Stroke, TextEdit, Ui}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/ui/main_menu.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ops::Deref` and `str::FromStr` [INFO] [stdout] --> src/ui/main_menu.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 58 | use std::{ops::Deref, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `info` [INFO] [stdout] --> src/ui/main_menu.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SessionData` [INFO] [stdout] --> src/ui/main_menu.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | use super::common::{SessionData, UiColors}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `watch` [INFO] [stdout] --> src/ui/mqtt_menu.rs:88:25 [INFO] [stdout] | [INFO] [stdout] 88 | use tokio::sync::{mpsc, watch}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/ui/mqtt_menu.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 89 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color32` [INFO] [stdout] --> src/ui/settings_menu.rs:75:26 [INFO] [stdout] | [INFO] [stdout] 75 | use eframe::egui::{self, Color32, DragValue, Frame, Slider, Stroke, TextEdit, Ui}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color32`, `Context`, `Event`, and `Layout` [INFO] [stdout] --> src/ui/mod.rs:104:34 [INFO] [stdout] | [INFO] [stdout] 104 | use eframe::egui::{self, Button, Color32, Context, Event, Layout, Vec2}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stdout] --> src/ui/mod.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mqtt::config::MqttConfig` [INFO] [stdout] --> src/ui/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | use crate::mqtt::config::MqttConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConfigResult` [INFO] [stdout] --> src/ui/mod.rs:112:55 [INFO] [stdout] | [INFO] [stdout] 112 | use crate::persistence::config_portal::{ConfigPortal, ConfigResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence::session_client::SessionClient` [INFO] [stdout] --> src/ui/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | use crate::persistence::session_client::SessionClient; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `keyboard::KeyboardConfig` [INFO] [stdout] --> src/main.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::mapping::{keyboard::KeyboardConfig, MappingEngineManager}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::persistence::config_portal::ConfigPortal` [INFO] [stdout] --> src/main.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::persistence::config_portal::ConfigPortal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mqtt::config::MqttConfig` [INFO] [stdout] --> src/main.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | use mqtt::config::MqttConfig; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/main.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error`, `info`, and `warn` [INFO] [stdout] --> src/main.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | use tracing::{debug, error, info, warn, Level}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ui::MQTTServer` [INFO] [stdout] --> src/main.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use ui::MQTTServer; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_check` is never read [INFO] [stdout] --> src/mqtt/mqtt_handler.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | last_check = std::time::Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mapping::MappingStrategy` [INFO] [stdout] --> src/mapping/manager.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::mapping::MappingStrategy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ui` [INFO] [stdout] --> src/ui/common.rs:170:21 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn create_frame(ui: &mut egui::Ui, bg_color: Color32, border_color: Color32) -> Frame { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ui` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/ui/main_menu.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | let result = session_action!(@create, self.session_sender, session_name); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/ui/main_menu.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let result = session_action!(@load, self.session_sender, name); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/ui/main_menu.rs:315:13 [INFO] [stdout] | [INFO] [stdout] 315 | let result = session_action!(@delete, self.session_sender, name); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `validation` is never read [INFO] [stdout] --> src/ui/mqtt_menu.rs:649:33 [INFO] [stdout] | [INFO] [stdout] 649 | let mut validation = false; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/ui/mod.rs:350:47 [INFO] [stdout] | [INFO] [stdout] 350 | fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elrs_rx` [INFO] [stdout] --> src/main.rs:115:19 [INFO] [stdout] | [INFO] [stdout] 115 | let (elrs_tx, elrs_rx) = mpsc::channel(100); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elrs_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `custom_rx` [INFO] [stdout] --> src/main.rs:116:21 [INFO] [stdout] | [INFO] [stdout] 116 | let (custom_tx, custom_rx) = mpsc::channel(100); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `activate_mqtt_tx` [INFO] [stdout] --> src/main.rs:119:10 [INFO] [stdout] | [INFO] [stdout] 119 | let (activate_mqtt_tx, activate_mqtt_rx) = watch::channel(true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_activate_mqtt_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `state_sender` is never read [INFO] [stdout] --> src/controller/event_processor.rs:651:5 [INFO] [stdout] | [INFO] [stdout] 650 | pub struct ProcessorHandle { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 651 | state_sender: mpsc::Sender, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `context` is never read [INFO] [stdout] --> src/mapping/custom.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 175 | pub struct CustomStrategy { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 180 | context: MappingContext, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `context` is never read [INFO] [stdout] --> src/mapping/elrs.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 374 | pub struct ELRSStrategy { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 375 | config: ELRSConfig, [INFO] [stdout] 376 | context: MappingContext, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `worker_handle` and `autosave_handle` are never read [INFO] [stdout] --> src/persistence/persistence_worker.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct PersistenceManager { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 72 | worker_handle: tokio::task::JoinHandle<()>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 73 | /// Handle to the autosave task for independent cleanup [INFO] [stdout] 74 | autosave_handle: tokio::task::JoinHandle<()>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config_portal` and `session_sender` are never read [INFO] [stdout] --> src/ui/mod.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 162 | pub struct OpencontrollerUI { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 188 | config_portal: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | session_sender: mpsc::Sender, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `log_controller_state` is never used [INFO] [stdout] --> src/ui/mod.rs:266:8 [INFO] [stdout] | [INFO] [stdout] 194 | impl OpencontrollerUI { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | fn log_controller_state(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `transmitter_port` is never read [INFO] [stdout] --> src/ui/elrs_menu.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct ELRSMenuData { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 76 | /// Current transmitter port identifier (placeholder) [INFO] [stdout] 77 | transmitter_port: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config_portal` is never read [INFO] [stdout] --> src/ui/main_menu.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct MainMenuData { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 89 | /// Direct access to configuration portal for immediate reads [INFO] [stdout] 90 | config_portal: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delet_session` is never used [INFO] [stdout] --> src/ui/main_menu.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl MainMenuData { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 314 | fn delet_session(&mut self, name: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | / eframe::run_native( [INFO] [stdout] 163 | | "OpenController", [INFO] [stdout] 164 | | native_options, [INFO] [stdout] 165 | | Box::new(|cc| { [INFO] [stdout] ... | [INFO] [stdout] 174 | | }), [INFO] [stdout] 175 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 162 | let _ = eframe::run_native( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 288 | | *guard = session_config; [INFO] [stdout] 289 | | Ok::(ConfigResult::Success) [INFO] [stdout] 290 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 287 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 293 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 294 | | guard.session_name = name; [INFO] [stdout] 295 | | Ok::(ConfigResult::Success) [INFO] [stdout] 296 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 293 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 300 | | guard.last_session = last_session; [INFO] [stdout] 301 | | Ok::(ConfigResult::Success) [INFO] [stdout] 302 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 299 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:305:17 [INFO] [stdout] | [INFO] [stdout] 305 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 306 | | guard.path = path; [INFO] [stdout] 307 | | Ok::(ConfigResult::Success) [INFO] [stdout] 308 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 305 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 311 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] 312 | | guard.available_sessions = sessions; [INFO] [stdout] 313 | | Ok::(ConfigResult::Success) [INFO] [stdout] 314 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 311 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] 335 | | *guard = ui_config; [INFO] [stdout] 336 | | Ok::(ConfigResult::Success) [INFO] [stdout] 337 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 334 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:340:17 [INFO] [stdout] | [INFO] [stdout] 340 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] 341 | | guard.theme = theme; [INFO] [stdout] 342 | | Ok::(ConfigResult::Success) [INFO] [stdout] 343 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 340 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] 347 | | guard.fps = fps; [INFO] [stdout] 348 | | Ok::(ConfigResult::Success) [INFO] [stdout] 349 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 346 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:369:17 [INFO] [stdout] | [INFO] [stdout] 369 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] 370 | | guard.elrs_mapping = elrs_config; [INFO] [stdout] 371 | | Ok::(ConfigResult::Success) [INFO] [stdout] 372 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 369 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:375:17 [INFO] [stdout] | [INFO] [stdout] 375 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] 376 | | guard.keyboard_mapping = keyboard_config; [INFO] [stdout] 377 | | Ok::(ConfigResult::Success) [INFO] [stdout] 378 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 375 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:381:17 [INFO] [stdout] | [INFO] [stdout] 381 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] 382 | | *guard = controller_config; [INFO] [stdout] 383 | | Ok::(ConfigResult::Success) [INFO] [stdout] 384 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 381 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:399:17 [INFO] [stdout] | [INFO] [stdout] 399 | / try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] 400 | | guard.mqtt_config = mqtt_config; [INFO] [stdout] 401 | | Ok::(ConfigResult::Success) [INFO] [stdout] 402 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 399 | let _ = try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:405:17 [INFO] [stdout] | [INFO] [stdout] 405 | / try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] 406 | | *guard = connection_config; [INFO] [stdout] 407 | | Ok::(ConfigResult::Success) [INFO] [stdout] 408 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 405 | let _ = try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:423:17 [INFO] [stdout] | [INFO] [stdout] 423 | / try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] 424 | | *guard = saved_messages; [INFO] [stdout] 425 | | Ok::(ConfigResult::Success) [INFO] [stdout] 426 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 423 | let _ = try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/config_portal.rs:429:17 [INFO] [stdout] | [INFO] [stdout] 429 | / try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] 430 | | guard.msg = messages; [INFO] [stdout] 431 | | Ok::(ConfigResult::Success) [INFO] [stdout] 432 | | }) [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 429 | let _ = try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | self.save_current_session().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 516 | let _ = self.save_current_session().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:531:17 [INFO] [stdout] | [INFO] [stdout] 531 | / new_session [INFO] [stdout] 532 | | .save_current_session() [INFO] [stdout] 533 | | .await [INFO] [stdout] 534 | | .map_err(|_e| eyre!("Failed to save loaded session")); [INFO] [stdout] | |_________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 531 | let _ = new_session [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:614:13 [INFO] [stdout] | [INFO] [stdout] 614 | self.clone().change_session(&last_session).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 614 | let _ = self.clone().change_session(&last_session).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/persistence/session_client.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 657 | config.save_current_session().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 657 | let _ = config.save_current_session().await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.49s [INFO] running `Command { std: "docker" "inspect" "1827f4381ff0a5267c29a387ee9ca139c2c29553cedbec96aae2b8ade2dff42f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1827f4381ff0a5267c29a387ee9ca139c2c29553cedbec96aae2b8ade2dff42f", kill_on_drop: false }` [INFO] [stdout] 1827f4381ff0a5267c29a387ee9ca139c2c29553cedbec96aae2b8ade2dff42f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9abea5ac24b0b37883164025be7433785fb1ef0fb14f3a355bdab935afb33051 [INFO] running `Command { std: "docker" "start" "-a" "9abea5ac24b0b37883164025be7433785fb1ef0fb14f3a355bdab935afb33051", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> src/controller/controller_handle.rs:9:35 [INFO] [stderr] | [INFO] [stderr] 9 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stderr] --> src/mapping/custom.rs:10:15 [INFO] [stderr] | [INFO] [stderr] 10 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stderr] --> src/mapping/elrs.rs:67:15 [INFO] [stderr] | [INFO] [stderr] 67 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stderr] --> src/mapping/keyboard.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::mapping::custom::CustomConfig` [INFO] [stderr] --> src/mapping/manager.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use crate::mapping::custom::CustomConfig; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rumqttc::tokio_rustls::rustls::KeyLog` [INFO] [stderr] --> src/mapping/manager.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | use rumqttc::tokio_rustls::rustls::KeyLog; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `info` [INFO] [stderr] --> src/mapping/manager.rs:32:29 [INFO] [stderr] | [INFO] [stderr] 32 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::SecondsFormat` [INFO] [stderr] --> src/mqtt/config.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use chrono::SecondsFormat; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `message_manager` [INFO] [stderr] --> src/mqtt/mqtt_handler.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | use super::{config, message_manager}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::persistence` [INFO] [stderr] --> src/mqtt/mqtt_handler.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | use crate::persistence; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chrono::NaiveDateTime` [INFO] [stderr] --> src/mqtt/mqtt_handler.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | use chrono::NaiveDateTime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Incoming`, `MqttState`, and `PacketType` [INFO] [stderr] --> src/mqtt/mqtt_handler.rs:72:36 [INFO] [stderr] | [INFO] [stderr] 72 | AsyncClient, Event, EventLoop, Incoming, MqttOptions, MqttState, Packet, PacketType, QoS, [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tracing_subscriber::fmt::time` [INFO] [stderr] --> src/mqtt/mqtt_handler.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | use tracing_subscriber::fmt::time; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::mqtt::mqtt_handler::Configured` [INFO] [stderr] --> src/persistence/persistence_worker.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | use crate::mqtt::mqtt_handler::Configured; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ConfigResult` and `PortalAction` [INFO] [stderr] --> src/persistence/persistence_worker.rs:28:35 [INFO] [stderr] | [INFO] [stderr] 28 | config_portal::{ConfigPortal, ConfigResult, PortalAction}, [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Receiver` [INFO] [stderr] --> src/persistence/persistence_worker.rs:35:34 [INFO] [stderr] | [INFO] [stderr] 35 | use tokio::sync::mpsc::{channel, Receiver, Sender}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stderr] --> src/persistence/persistence_worker.rs:37:15 [INFO] [stderr] | [INFO] [stderr] 37 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Result` and `eyre` [INFO] [stderr] --> src/persistence/mod.rs:33:24 [INFO] [stderr] | [INFO] [stderr] 33 | use color_eyre::eyre::{eyre, Result}; [INFO] [stderr] | ^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/persistence/mod.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Vec2` and `vec2` [INFO] [stderr] --> src/ui/common.rs:45:26 [INFO] [stderr] | [INFO] [stderr] 45 | use eframe::egui::{self, vec2, Color32, Frame, Stroke, Vec2}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Color32`, `Layout`, `Vec2`, and `self` [INFO] [stderr] --> src/ui/elrs_menu.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | use eframe::egui::{self, Color32, ComboBox, Frame, Layout, Stroke, Ui, Vec2}; [INFO] [stderr] | ^^^^ ^^^^^^^ ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::persistence::session_client::SessionClient` [INFO] [stderr] --> src/ui/main_menu.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | use crate::persistence::session_client::SessionClient; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Color32` [INFO] [stderr] --> src/ui/main_menu.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 55 | use eframe::egui::{self, vec2, Color32, Frame, Label, ScrollArea, Stroke, TextEdit, Ui}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/ui/main_menu.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ops::Deref` and `str::FromStr` [INFO] [stderr] --> src/ui/main_menu.rs:58:11 [INFO] [stderr] | [INFO] [stderr] 58 | use std::{ops::Deref, str::FromStr}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error` and `info` [INFO] [stderr] --> src/ui/main_menu.rs:60:22 [INFO] [stderr] | [INFO] [stderr] 60 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `SessionData` [INFO] [stderr] --> src/ui/main_menu.rs:62:21 [INFO] [stderr] | [INFO] [stderr] 62 | use super::common::{SessionData, UiColors}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `watch` [INFO] [stderr] --> src/ui/mqtt_menu.rs:88:25 [INFO] [stderr] | [INFO] [stderr] 88 | use tokio::sync::{mpsc, watch}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/ui/mqtt_menu.rs:89:22 [INFO] [stderr] | [INFO] [stderr] 89 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Color32` [INFO] [stderr] --> src/ui/settings_menu.rs:75:26 [INFO] [stderr] | [INFO] [stderr] 75 | use eframe::egui::{self, Color32, DragValue, Frame, Slider, Stroke, TextEdit, Ui}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Color32`, `Context`, `Event`, and `Layout` [INFO] [stderr] --> src/ui/mod.rs:104:34 [INFO] [stderr] | [INFO] [stderr] 104 | use eframe::egui::{self, Button, Color32, Context, Event, Layout, Vec2}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^ ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `debug`, `error`, and `warn` [INFO] [stderr] --> src/ui/mod.rs:108:15 [INFO] [stderr] | [INFO] [stderr] 108 | use tracing::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::mqtt::config::MqttConfig` [INFO] [stderr] --> src/ui/mod.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | use crate::mqtt::config::MqttConfig; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ConfigResult` [INFO] [stderr] --> src/ui/mod.rs:112:55 [INFO] [stderr] | [INFO] [stderr] 112 | use crate::persistence::config_portal::{ConfigPortal, ConfigResult}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::persistence::session_client::SessionClient` [INFO] [stderr] --> src/ui/mod.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | use crate::persistence::session_client::SessionClient; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `keyboard::KeyboardConfig` [INFO] [stderr] --> src/main.rs:27:22 [INFO] [stderr] | [INFO] [stderr] 27 | use crate::mapping::{keyboard::KeyboardConfig, MappingEngineManager}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::persistence::config_portal::ConfigPortal` [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use crate::persistence::config_portal::ConfigPortal; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mqtt::config::MqttConfig` [INFO] [stderr] --> src/main.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | use mqtt::config::MqttConfig; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/main.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error`, `info`, and `warn` [INFO] [stderr] --> src/main.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | use tracing::{debug, error, info, warn, Level}; [INFO] [stderr] | ^^^^^ ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ui::MQTTServer` [INFO] [stderr] --> src/main.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | use ui::MQTTServer; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_check` is never read [INFO] [stderr] --> src/mqtt/mqtt_handler.rs:565:17 [INFO] [stderr] | [INFO] [stderr] 565 | last_check = std::time::Instant::now(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::mapping::MappingStrategy` [INFO] [stderr] --> src/mapping/manager.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::mapping::MappingStrategy; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ui` [INFO] [stderr] --> src/ui/common.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | pub fn create_frame(ui: &mut egui::Ui, bg_color: Color32, border_color: Color32) -> Frame { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_ui` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/ui/main_menu.rs:268:13 [INFO] [stderr] | [INFO] [stderr] 268 | let result = session_action!(@create, self.session_sender, session_name); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/ui/main_menu.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | let result = session_action!(@load, self.session_sender, name); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/ui/main_menu.rs:315:13 [INFO] [stderr] | [INFO] [stderr] 315 | let result = session_action!(@delete, self.session_sender, name); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `validation` is never read [INFO] [stderr] --> src/ui/mqtt_menu.rs:649:33 [INFO] [stderr] | [INFO] [stderr] 649 | let mut validation = false; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frame` [INFO] [stderr] --> src/ui/mod.rs:350:47 [INFO] [stderr] | [INFO] [stderr] 350 | fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `elrs_rx` [INFO] [stderr] --> src/main.rs:115:19 [INFO] [stderr] | [INFO] [stderr] 115 | let (elrs_tx, elrs_rx) = mpsc::channel(100); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elrs_rx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `custom_rx` [INFO] [stderr] --> src/main.rs:116:21 [INFO] [stderr] | [INFO] [stderr] 116 | let (custom_tx, custom_rx) = mpsc::channel(100); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_rx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `activate_mqtt_tx` [INFO] [stderr] --> src/main.rs:119:10 [INFO] [stderr] | [INFO] [stderr] 119 | let (activate_mqtt_tx, activate_mqtt_rx) = watch::channel(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_activate_mqtt_tx` [INFO] [stderr] [INFO] [stderr] warning: field `state_sender` is never read [INFO] [stderr] --> src/controller/event_processor.rs:651:5 [INFO] [stderr] | [INFO] [stderr] 650 | pub struct ProcessorHandle { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] 651 | state_sender: mpsc::Sender, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `context` is never read [INFO] [stderr] --> src/mapping/custom.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 175 | pub struct CustomStrategy { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 180 | context: MappingContext, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `context` is never read [INFO] [stderr] --> src/mapping/elrs.rs:376:5 [INFO] [stderr] | [INFO] [stderr] 374 | pub struct ELRSStrategy { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 375 | config: ELRSConfig, [INFO] [stderr] 376 | context: MappingContext, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `worker_handle` and `autosave_handle` are never read [INFO] [stderr] --> src/persistence/persistence_worker.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 68 | pub struct PersistenceManager { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 72 | worker_handle: tokio::task::JoinHandle<()>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 73 | /// Handle to the autosave task for independent cleanup [INFO] [stderr] 74 | autosave_handle: tokio::task::JoinHandle<()>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `config_portal` and `session_sender` are never read [INFO] [stderr] --> src/ui/mod.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 162 | pub struct OpencontrollerUI { [INFO] [stderr] | ---------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 188 | config_portal: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 191 | session_sender: mpsc::Sender, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `log_controller_state` is never used [INFO] [stderr] --> src/ui/mod.rs:266:8 [INFO] [stderr] | [INFO] [stderr] 194 | impl OpencontrollerUI { [INFO] [stderr] | --------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 266 | fn log_controller_state(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `transmitter_port` is never read [INFO] [stderr] --> src/ui/elrs_menu.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 75 | pub struct ELRSMenuData { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 76 | /// Current transmitter port identifier (placeholder) [INFO] [stderr] 77 | transmitter_port: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `config_portal` is never read [INFO] [stderr] --> src/ui/main_menu.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 88 | pub struct MainMenuData { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 89 | /// Direct access to configuration portal for immediate reads [INFO] [stderr] 90 | config_portal: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `delet_session` is never used [INFO] [stderr] --> src/ui/main_menu.rs:314:8 [INFO] [stderr] | [INFO] [stderr] 111 | impl MainMenuData { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 314 | fn delet_session(&mut self, name: String) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/main.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | / eframe::run_native( [INFO] [stderr] 163 | | "OpenController", [INFO] [stderr] 164 | | native_options, [INFO] [stderr] 165 | | Box::new(|cc| { [INFO] [stderr] ... | [INFO] [stderr] 174 | | }), [INFO] [stderr] 175 | | ); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 162 | let _ = eframe::run_native( [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:287:17 [INFO] [stderr] | [INFO] [stderr] 287 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] 288 | | *guard = session_config; [INFO] [stderr] 289 | | Ok::(ConfigResult::Success) [INFO] [stderr] 290 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 287 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] 294 | | guard.session_name = name; [INFO] [stderr] 295 | | Ok::(ConfigResult::Success) [INFO] [stderr] 296 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 293 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:299:17 [INFO] [stderr] | [INFO] [stderr] 299 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] 300 | | guard.last_session = last_session; [INFO] [stderr] 301 | | Ok::(ConfigResult::Success) [INFO] [stderr] 302 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 299 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:305:17 [INFO] [stderr] | [INFO] [stderr] 305 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] 306 | | guard.path = path; [INFO] [stderr] 307 | | Ok::(ConfigResult::Success) [INFO] [stderr] 308 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 305 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:311:17 [INFO] [stderr] | [INFO] [stderr] 311 | / try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] 312 | | guard.available_sessions = sessions; [INFO] [stderr] 313 | | Ok::(ConfigResult::Success) [INFO] [stderr] 314 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 311 | let _ = try_lock!(@write_lock_retry, self.session.clone(), |guard: &mut SessionConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:334:17 [INFO] [stderr] | [INFO] [stderr] 334 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stderr] 335 | | *guard = ui_config; [INFO] [stderr] 336 | | Ok::(ConfigResult::Success) [INFO] [stderr] 337 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 334 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stderr] 341 | | guard.theme = theme; [INFO] [stderr] 342 | | Ok::(ConfigResult::Success) [INFO] [stderr] 343 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 340 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:346:17 [INFO] [stderr] | [INFO] [stderr] 346 | / try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stderr] 347 | | guard.fps = fps; [INFO] [stderr] 348 | | Ok::(ConfigResult::Success) [INFO] [stderr] 349 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 346 | let _ = try_lock!(@write_lock_retry, self.ui_config.clone(), |guard: &mut UIConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:369:17 [INFO] [stderr] | [INFO] [stderr] 369 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stderr] 370 | | guard.elrs_mapping = elrs_config; [INFO] [stderr] 371 | | Ok::(ConfigResult::Success) [INFO] [stderr] 372 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 369 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:375:17 [INFO] [stderr] | [INFO] [stderr] 375 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stderr] 376 | | guard.keyboard_mapping = keyboard_config; [INFO] [stderr] 377 | | Ok::(ConfigResult::Success) [INFO] [stderr] 378 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 375 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:381:17 [INFO] [stderr] | [INFO] [stderr] 381 | / try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stderr] 382 | | *guard = controller_config; [INFO] [stderr] 383 | | Ok::(ConfigResult::Success) [INFO] [stderr] 384 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 381 | let _ = try_lock!(@write_lock_retry, self.controller_config.clone(), |guard: &mut ControllerConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:399:17 [INFO] [stderr] | [INFO] [stderr] 399 | / try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stderr] 400 | | guard.mqtt_config = mqtt_config; [INFO] [stderr] 401 | | Ok::(ConfigResult::Success) [INFO] [stderr] 402 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 399 | let _ = try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:405:17 [INFO] [stderr] | [INFO] [stderr] 405 | / try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stderr] 406 | | *guard = connection_config; [INFO] [stderr] 407 | | Ok::(ConfigResult::Success) [INFO] [stderr] 408 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 405 | let _ = try_lock!(@write_lock_retry, self.connection_config.clone(), |guard: &mut ConnectionConfig| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:423:17 [INFO] [stderr] | [INFO] [stderr] 423 | / try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stderr] 424 | | *guard = saved_messages; [INFO] [stderr] 425 | | Ok::(ConfigResult::Success) [INFO] [stderr] 426 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 423 | let _ = try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/config_portal.rs:429:17 [INFO] [stderr] | [INFO] [stderr] 429 | / try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stderr] 430 | | guard.msg = messages; [INFO] [stderr] 431 | | Ok::(ConfigResult::Success) [INFO] [stderr] 432 | | }) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 429 | let _ = try_lock!(@write_lock_retry, self.msg_save.clone(), |guard: &mut SavedMessages| { [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/session_client.rs:516:9 [INFO] [stderr] | [INFO] [stderr] 516 | self.save_current_session().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 516 | let _ = self.save_current_session().await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/session_client.rs:531:17 [INFO] [stderr] | [INFO] [stderr] 531 | / new_session [INFO] [stderr] 532 | | .save_current_session() [INFO] [stderr] 533 | | .await [INFO] [stderr] 534 | | .map_err(|_e| eyre!("Failed to save loaded session")); [INFO] [stderr] | |_________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 531 | let _ = new_session [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/session_client.rs:614:13 [INFO] [stderr] | [INFO] [stderr] 614 | self.clone().change_session(&last_session).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 614 | let _ = self.clone().change_session(&last_session).await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/persistence/session_client.rs:657:13 [INFO] [stderr] | [INFO] [stderr] 657 | config.save_current_session().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 657 | let _ = config.save_current_session().await; [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `opencontroller` (bin "opencontroller" test) generated 81 warnings (run `cargo fix --bin "opencontroller" --tests` to apply 41 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/opencontroller-6538077474071bc2) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9abea5ac24b0b37883164025be7433785fb1ef0fb14f3a355bdab935afb33051", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9abea5ac24b0b37883164025be7433785fb1ef0fb14f3a355bdab935afb33051", kill_on_drop: false }` [INFO] [stdout] 9abea5ac24b0b37883164025be7433785fb1ef0fb14f3a355bdab935afb33051