[INFO] cloning repository https://github.com/g0orx/rustyHPSDR
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/g0orx/rustyHPSDR" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg0orx%2FrustyHPSDR", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg0orx%2FrustyHPSDR'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b92e0dc45e8aaa104f5202b5b250c82f082c1380
[INFO] checking g0orx/rustyHPSDR against try#6284d7b4bd27983dba388146648ab844ca7d032f for pr-152971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg0orx%2FrustyHPSDR" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/g0orx/rustyHPSDR
[INFO] finished tweaking git repo https://github.com/g0orx/rustyHPSDR
[INFO] tweaked toml for git repo https://github.com/g0orx/rustyHPSDR written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/g0orx/rustyHPSDR on toolchain 6284d7b4bd27983dba388146648ab844ca7d032f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/g0orx/rustyHPSDR 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" "+6284d7b4bd27983dba388146648ab844ca7d032f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ee2fe1812b89b79cfafc7e0c37de8d2723c20a9af0a2fb5ed0b9fa4e902c0a9b
[INFO] running `Command { std: "docker" "start" "-a" "ee2fe1812b89b79cfafc7e0c37de8d2723c20a9af0a2fb5ed0b9fa4e902c0a9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ee2fe1812b89b79cfafc7e0c37de8d2723c20a9af0a2fb5ed0b9fa4e902c0a9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee2fe1812b89b79cfafc7e0c37de8d2723c20a9af0a2fb5ed0b9fa4e902c0a9b", kill_on_drop: false }`
[INFO] [stdout] ee2fe1812b89b79cfafc7e0c37de8d2723c20a9af0a2fb5ed0b9fa4e902c0a9b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1262070f0174158d13065688ff901fc6ef618011267b295ce1b5f254db046b24
[INFO] running `Command { std: "docker" "start" "-a" "1262070f0174158d13065688ff901fc6ef618011267b295ce1b5f254db046b24", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling hashbrown v0.15.3
[INFO] [stderr]    Compiling winnow v0.7.10
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling gio v0.20.9
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling cc v1.2.21
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustfft v6.3.0
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling cpal v0.16.0
[INFO] [stderr]     Checking field-offset v0.3.6
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking transpose v0.2.3
[INFO] [stderr]    Compiling cfg-expr v0.17.2
[INFO] [stderr]     Checking primal-check v0.3.4
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]     Checking ringbuf v0.4.8
[INFO] [stderr]    Compiling network-interface v2.0.1
[INFO] [stderr]    Compiling rustyHPSDR v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> build.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> build.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> build.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]     Checking tokio v1.45.0
[INFO] [stderr]    Compiling toml_edit v0.22.26
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling toml v0.8.22
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling system-deps v7.0.3
[INFO] [stderr]    Compiling glib-macros v0.20.7
[INFO] [stderr]    Compiling gtk4-macros v0.9.5
[INFO] [stderr]    Compiling glib-sys v0.20.9
[INFO] [stderr]    Compiling gobject-sys v0.20.9
[INFO] [stderr]    Compiling gio-sys v0.20.9
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.7
[INFO] [stderr]    Compiling pango-sys v0.20.9
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.20.7
[INFO] [stderr]    Compiling graphene-sys v0.20.7
[INFO] [stderr]    Compiling gdk4-sys v0.9.6
[INFO] [stderr]    Compiling gsk4-sys v0.9.6
[INFO] [stderr]    Compiling gtk4-sys v0.9.6
[INFO] [stderr]    Compiling pangocairo-sys v0.20.10
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking ron v0.10.1
[INFO] [stderr]     Checking glib v0.20.9
[INFO] [stderr]     Checking midir v0.10.3
[INFO] [stderr]     Checking cairo-rs v0.20.7
[INFO] [stderr]     Checking graphene-rs v0.20.9
[INFO] [stderr]     Checking pango v0.20.9
[INFO] [stderr]     Checking gdk-pixbuf v0.20.9
[INFO] [stderr]     Checking gdk4 v0.9.6
[INFO] [stderr]     Checking pangocairo v0.20.10
[INFO] [stderr]     Checking gsk4 v0.9.6
[INFO] [stderr]     Checking gtk4 v0.9.6
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c: In function 'noise_floor_manager_initialize':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c:34:66: warning: unused parameter 'sample_rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    34 |                                                   const uint32_t sample_rate,
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c:35:66: warning: unused parameter 'hop' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    35 |                                                   const uint32_t hop) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                   ~~~~~~~~~~~~~~~^~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c: In function 'readZetaHat':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:226:84: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   226 |                 if (e == 0 && fread(zetaHat,   sizeof(double), nvals, pzetaBinary) != nvals) e = 1;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                    ^~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:227:88: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   227 |                 if (e == 0 && fread(zetaValid, sizeof(int),        nvals, pzetaBinary) != nvals) e = 1;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                        ^~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c: In function 'calc_emnr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:307:16: warning: unused variable 'Hvals' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   307 |         double Hvals[18] = { 0.000, 0.150, 0.480, 0.780, 0.980, 1.550, 2.000, 2.300, 2.520,
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:377:17: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   377 |                 fread(a->g.GG, sizeof(double), 241 * 241, a->g.fileb);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:378:17: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   378 |                 fread(a->g.GGS, sizeof(double), 241 * 241, a->g.fileb);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/siphon.c: In function 'setSamplerate_siphon':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/siphon.c:144:42: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   144 | void setSamplerate_siphon (SIPHON a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c: In function 'xamd':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c:215:98: warning: 'audio' may be used uninitialized [-Wmaybe-uninitialized]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   215 |                                                         a->dc = a->mtauR * a->dc + a->onem_mtauR * audio;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                    ~~~~~~~~~~~~~~^~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c:118:16: note: 'audio' was declared here
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   118 |         double audio;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c: In function 'flush_ammod':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:48:25: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    48 | void flush_ammod (AMMOD a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                   ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c: In function 'setSamplerate_ammod':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:87:33: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    87 | void setSamplerate_ammod (AMMOD a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                           ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:87:40: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    87 | void setSamplerate_ammod (AMMOD a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                    ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/channel.c: In function 'start_thread':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/channel.c:33:16: warning: unused variable 'handle' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    33 |         HANDLE handle = (HANDLE) _beginthread(wdspmain, 0, (void *)(uintptr_t)channel);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/iqc.c: In function 'flush_iqc':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/iqc.c:108:21: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   108 | void flush_iqc (IQC a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'QueueUserWorkItem':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:41:57: warning: unused parameter 'flags' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    41 | void QueueUserWorkItem(void *function,void *context,int flags) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                     ~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'InitializeCriticalSectionAndSpinCount':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:64:72: warning: unused parameter 'count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    64 | void InitializeCriticalSectionAndSpinCount(pthread_mutex_t *mutex, int count) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                    ~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'LinuxCreateSemaphore':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:33: warning: unused parameter 'attributes' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                             ~~~~^~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:66: warning: unused parameter 'maximum_count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                              ~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:86: warning: unused parameter 'name' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                ~~~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'LinuxReleaseSemaphore':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:136:63: warning: unused parameter 'previous_count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   136 | void LinuxReleaseSemaphore(sem_t* sem,int release_count, int* previous_count) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                          ~~~~~^~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'CreateEvent':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:26: warning: unused parameter 'security_attributes' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                    ~~~~~~^~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:50: warning: unused parameter 'bManualReset' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ~~~~^~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:67: warning: unused parameter 'bInitialState' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                               ~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:87: warning: unused parameter 'name' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                 ~~~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function '_beginthread':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:192:46: warning: cast between incompatible function types from 'void (*)(void *)' to 'void * (*)(void *)' [-Wcast-function-type]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   192 |         if (pthread_create(&threadid, &attr, (void*(*)(void*))start_address, arglist)) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'SetThreadPriority':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:237:31: warning: unused parameter 'thread' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   237 | void SetThreadPriority(HANDLE thread, int priority)      {
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:237:43: warning: unused parameter 'priority' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   237 | void SetThreadPriority(HANDLE thread, int priority)      {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                       ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/analyzer.c: In function 'XCreateAnalyzer':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/analyzer.c:1323:55: warning: unused parameter 'app_data_path' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:  1323 |                                                 char *app_data_path
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                 ~~~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c: In function 'flush_compressor':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:54:35: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    54 | void flush_compressor (COMPRESSOR a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                        ~~~~~~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c: In function 'setSamplerate_compressor':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:83:43: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    83 | void setSamplerate_compressor (COMPRESSOR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~~~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:83:50: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    83 | void setSamplerate_compressor (COMPRESSOR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c: In function 'flush_panel':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:50:25: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    50 | void flush_panel (PANEL a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                   ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c: In function 'setSamplerate_panel':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:109:33: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   109 | void setSamplerate_panel (PANEL a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                           ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:109:40: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   109 | void setSamplerate_panel (PANEL a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                    ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/utilities.c: In function 'malloc0':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/utilities.c:39:13: warning: unused variable 'alignment' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    39 |         int alignment = 16;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |             ^~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anf.c: In function 'setSamplerate_anf':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anf.c:149:36: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   149 | void setSamplerate_anf (ANF a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/varsamp.c: In function 'xvarsamp':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/varsamp.c:153:41: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   153 |                         a->inv_cvar = *((double *)&N);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                        ~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anr.c: In function 'setSamplerate_anr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anr.c:149:36: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   149 | void setSamplerate_anr (ANR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/dexp.c: In function 'SendAntiVOXData':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/dexp.c:708:35: warning: unused parameter 'nsamples' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   708 | void SendAntiVOXData (int id, int nsamples, double* data)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                               ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/div.c: In function 'flush_div':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/div.c:62:22: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    62 | void flush_div (MDIV a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c: In function 'flush_gain':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:52:23: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    52 | void flush_gain (GAIN a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                  ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c: In function 'setSamplerate_gain':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:86:31: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    86 | void setSamplerate_gain (GAIN a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                          ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:86:38: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    86 | void setSamplerate_gain (GAIN a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                  ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/doublepole.c: In function 'H':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/doublepole.c:44:23: warning: unused parameter 'scale' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    44 | static void H (double scale, double fcenter, double bandwidth, double f, double Hres[])
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ~~~~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c: In function 'xsbnr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c:118:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   118 |                 for (size_t i = 0; i < bs; i++)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c:124:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   124 |                 for (size_t i = 0; i < bs; i++)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c: In function 'psccF':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c:840:104: warning: unused parameter 'mox' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   840 | void psccF (int channel, int size, float *Itxbuff, float *Qtxbuff, float *Irxbuff, float *Qrxbuff, int mox, int solidmox)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                                    ~~~~^~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c:840:113: warning: unused parameter 'solidmox' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   840 | void psccF (int channel, int size, float *Itxbuff, float *Qtxbuff, float *Irxbuff, float *Qrxbuff, int mox, int solidmox)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                                             ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sender.c: In function 'setSamplerate_sender':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sender.c:93:42: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    93 | void setSamplerate_sender (SENDER a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c: In function 'noise_floor_manager_initialize':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c:34:66: warning: unused parameter 'sample_rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    34 |                                                   const uint32_t sample_rate,
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c:35:66: warning: unused parameter 'hop' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    35 |                                                   const uint32_t hop) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                   ~~~~~~~~~~~~~~~^~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c: In function 'readZetaHat':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:226:84: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   226 |                 if (e == 0 && fread(zetaHat,   sizeof(double), nvals, pzetaBinary) != nvals) e = 1;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                    ^~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:227:88: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   227 |                 if (e == 0 && fread(zetaValid, sizeof(int),        nvals, pzetaBinary) != nvals) e = 1;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                        ^~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c: In function 'calc_emnr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:307:16: warning: unused variable 'Hvals' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   307 |         double Hvals[18] = { 0.000, 0.150, 0.480, 0.780, 0.980, 1.550, 2.000, 2.300, 2.520,
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:377:17: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   377 |                 fread(a->g.GG, sizeof(double), 241 * 241, a->g.fileb);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:378:17: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   378 |                 fread(a->g.GGS, sizeof(double), 241 * 241, a->g.fileb);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/siphon.c: In function 'setSamplerate_siphon':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/siphon.c:144:42: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   144 | void setSamplerate_siphon (SIPHON a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c: In function 'xamd':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c:215:98: warning: 'audio' may be used uninitialized [-Wmaybe-uninitialized]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   215 |                                                         a->dc = a->mtauR * a->dc + a->onem_mtauR * audio;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                    ~~~~~~~~~~~~~~^~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c:118:16: note: 'audio' was declared here
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   118 |         double audio;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c: In function 'flush_ammod':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:48:25: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    48 | void flush_ammod (AMMOD a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                   ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c: In function 'setSamplerate_ammod':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:87:33: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    87 | void setSamplerate_ammod (AMMOD a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                           ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:87:40: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    87 | void setSamplerate_ammod (AMMOD a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                    ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/channel.c: In function 'start_thread':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/channel.c:33:16: warning: unused variable 'handle' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    33 |         HANDLE handle = (HANDLE) _beginthread(wdspmain, 0, (void *)(uintptr_t)channel);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/iqc.c: In function 'flush_iqc':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/iqc.c:108:21: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   108 | void flush_iqc (IQC a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'QueueUserWorkItem':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:41:57: warning: unused parameter 'flags' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    41 | void QueueUserWorkItem(void *function,void *context,int flags) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                     ~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'InitializeCriticalSectionAndSpinCount':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:64:72: warning: unused parameter 'count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    64 | void InitializeCriticalSectionAndSpinCount(pthread_mutex_t *mutex, int count) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                    ~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'LinuxCreateSemaphore':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:33: warning: unused parameter 'attributes' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                             ~~~~^~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:66: warning: unused parameter 'maximum_count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                              ~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:86: warning: unused parameter 'name' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                ~~~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'LinuxReleaseSemaphore':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:136:63: warning: unused parameter 'previous_count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   136 | void LinuxReleaseSemaphore(sem_t* sem,int release_count, int* previous_count) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                          ~~~~~^~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'CreateEvent':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:26: warning: unused parameter 'security_attributes' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                    ~~~~~~^~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:50: warning: unused parameter 'bManualReset' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ~~~~^~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:67: warning: unused parameter 'bInitialState' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                               ~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:87: warning: unused parameter 'name' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                 ~~~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function '_beginthread':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:192:46: warning: cast between incompatible function types from 'void (*)(void *)' to 'void * (*)(void *)' [-Wcast-function-type]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   192 |         if (pthread_create(&threadid, &attr, (void*(*)(void*))start_address, arglist)) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'SetThreadPriority':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:237:31: warning: unused parameter 'thread' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   237 | void SetThreadPriority(HANDLE thread, int priority)      {
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:237:43: warning: unused parameter 'priority' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   237 | void SetThreadPriority(HANDLE thread, int priority)      {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                       ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/analyzer.c: In function 'XCreateAnalyzer':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/analyzer.c:1323:55: warning: unused parameter 'app_data_path' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:  1323 |                                                 char *app_data_path
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                 ~~~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c: In function 'flush_compressor':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:54:35: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    54 | void flush_compressor (COMPRESSOR a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                        ~~~~~~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c: In function 'setSamplerate_compressor':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:83:43: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    83 | void setSamplerate_compressor (COMPRESSOR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~~~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:83:50: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    83 | void setSamplerate_compressor (COMPRESSOR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c: In function 'flush_panel':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:50:25: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    50 | void flush_panel (PANEL a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                   ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c: In function 'setSamplerate_panel':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:109:33: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   109 | void setSamplerate_panel (PANEL a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                           ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:109:40: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   109 | void setSamplerate_panel (PANEL a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                    ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/utilities.c: In function 'malloc0':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/utilities.c:39:13: warning: unused variable 'alignment' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    39 |         int alignment = 16;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |             ^~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anf.c: In function 'setSamplerate_anf':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anf.c:149:36: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   149 | void setSamplerate_anf (ANF a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/varsamp.c: In function 'xvarsamp':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/varsamp.c:153:41: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   153 |                         a->inv_cvar = *((double *)&N);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                        ~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anr.c: In function 'setSamplerate_anr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anr.c:149:36: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   149 | void setSamplerate_anr (ANR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/dexp.c: In function 'SendAntiVOXData':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/dexp.c:708:35: warning: unused parameter 'nsamples' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   708 | void SendAntiVOXData (int id, int nsamples, double* data)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                               ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/div.c: In function 'flush_div':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/div.c:62:22: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    62 | void flush_div (MDIV a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c: In function 'flush_gain':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:52:23: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    52 | void flush_gain (GAIN a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                  ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c: In function 'setSamplerate_gain':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:86:31: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    86 | void setSamplerate_gain (GAIN a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                          ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:86:38: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    86 | void setSamplerate_gain (GAIN a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                  ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/doublepole.c: In function 'H':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/doublepole.c:44:23: warning: unused parameter 'scale' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    44 | static void H (double scale, double fcenter, double bandwidth, double f, double Hres[])
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ~~~~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c: In function 'xsbnr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c:118:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   118 |                 for (size_t i = 0; i < bs; i++)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c:124:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   124 |                 for (size_t i = 0; i < bs; i++)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c: In function 'psccF':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c:840:104: warning: unused parameter 'mox' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   840 | void psccF (int channel, int size, float *Itxbuff, float *Qtxbuff, float *Irxbuff, float *Qrxbuff, int mox, int solidmox)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                                    ~~~~^~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c:840:113: warning: unused parameter 'solidmox' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   840 | void psccF (int channel, int size, float *Itxbuff, float *Qtxbuff, float *Irxbuff, float *Qrxbuff, int mox, int solidmox)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                                             ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sender.c: In function 'setSamplerate_sender':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sender.c:93:42: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    93 | void setSamplerate_sender (SENDER a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c: In function 'noise_floor_manager_initialize':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c:34:66: warning: unused parameter 'sample_rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    34 |                                                   const uint32_t sample_rate,
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: libspecbleach/src/shared/post_estimation/noise_floor_manager.c:35:66: warning: unused parameter 'hop' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    35 |                                                   const uint32_t hop) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                   ~~~~~~~~~~~~~~~^~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c: In function 'readZetaHat':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:226:84: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   226 |                 if (e == 0 && fread(zetaHat,   sizeof(double), nvals, pzetaBinary) != nvals) e = 1;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                    ^~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:227:88: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   227 |                 if (e == 0 && fread(zetaValid, sizeof(int),        nvals, pzetaBinary) != nvals) e = 1;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                        ^~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c: In function 'calc_emnr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:307:16: warning: unused variable 'Hvals' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   307 |         double Hvals[18] = { 0.000, 0.150, 0.480, 0.780, 0.980, 1.550, 2.000, 2.300, 2.520,
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:377:17: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   377 |                 fread(a->g.GG, sizeof(double), 241 * 241, a->g.fileb);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/emnr.c:378:17: warning: ignoring return value of 'fread' declared with attribute 'warn_unused_result' [-Wunused-result]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   378 |                 fread(a->g.GGS, sizeof(double), 241 * 241, a->g.fileb);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/siphon.c: In function 'setSamplerate_siphon':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/siphon.c:144:42: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   144 | void setSamplerate_siphon (SIPHON a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c: In function 'xamd':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c:215:98: warning: 'audio' may be used uninitialized [-Wmaybe-uninitialized]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   215 |                                                         a->dc = a->mtauR * a->dc + a->onem_mtauR * audio;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                    ~~~~~~~~~~~~~~^~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/amd.c:118:16: note: 'audio' was declared here
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   118 |         double audio;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c: In function 'flush_ammod':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:48:25: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    48 | void flush_ammod (AMMOD a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                   ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c: In function 'setSamplerate_ammod':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:87:33: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    87 | void setSamplerate_ammod (AMMOD a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                           ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/ammod.c:87:40: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    87 | void setSamplerate_ammod (AMMOD a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                    ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/channel.c: In function 'start_thread':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/channel.c:33:16: warning: unused variable 'handle' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    33 |         HANDLE handle = (HANDLE) _beginthread(wdspmain, 0, (void *)(uintptr_t)channel);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ^~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/iqc.c: In function 'flush_iqc':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/iqc.c:108:21: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   108 | void flush_iqc (IQC a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'QueueUserWorkItem':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:41:57: warning: unused parameter 'flags' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    41 | void QueueUserWorkItem(void *function,void *context,int flags) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                     ~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'InitializeCriticalSectionAndSpinCount':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:64:72: warning: unused parameter 'count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    64 | void InitializeCriticalSectionAndSpinCount(pthread_mutex_t *mutex, int count) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                    ~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'LinuxCreateSemaphore':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:33: warning: unused parameter 'attributes' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                             ~~~~^~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:66: warning: unused parameter 'maximum_count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                              ~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:96:86: warning: unused parameter 'name' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    96 | sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,char *name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                ~~~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'LinuxReleaseSemaphore':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:136:63: warning: unused parameter 'previous_count' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   136 | void LinuxReleaseSemaphore(sem_t* sem,int release_count, int* previous_count) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                          ~~~~~^~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'CreateEvent':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:26: warning: unused parameter 'security_attributes' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                    ~~~~~~^~~~~~~~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:50: warning: unused parameter 'bManualReset' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ~~~~^~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:67: warning: unused parameter 'bInitialState' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                               ~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:148:87: warning: unused parameter 'name' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   148 | sem_t *CreateEvent(void* security_attributes,int bManualReset,int bInitialState,char* name) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                 ~~~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function '_beginthread':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:192:46: warning: cast between incompatible function types from 'void (*)(void *)' to 'void * (*)(void *)' [-Wcast-function-type]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   192 |         if (pthread_create(&threadid, &attr, (void*(*)(void*))start_address, arglist)) {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c: In function 'SetThreadPriority':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:237:31: warning: unused parameter 'thread' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   237 | void SetThreadPriority(HANDLE thread, int priority)      {
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/linux_port.c:237:43: warning: unused parameter 'priority' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   237 | void SetThreadPriority(HANDLE thread, int priority)      {
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                       ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/analyzer.c: In function 'XCreateAnalyzer':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/analyzer.c:1323:55: warning: unused parameter 'app_data_path' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:  1323 |                                                 char *app_data_path
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                 ~~~~~~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c: In function 'flush_compressor':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:54:35: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    54 | void flush_compressor (COMPRESSOR a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                        ~~~~~~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c: In function 'setSamplerate_compressor':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:83:43: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    83 | void setSamplerate_compressor (COMPRESSOR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~~~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/compress.c:83:50: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    83 | void setSamplerate_compressor (COMPRESSOR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                              ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c: In function 'flush_panel':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:50:25: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    50 | void flush_panel (PANEL a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                   ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c: In function 'setSamplerate_panel':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:109:33: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   109 | void setSamplerate_panel (PANEL a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                           ~~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/patchpanel.c:109:40: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   109 | void setSamplerate_panel (PANEL a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                    ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/utilities.c: In function 'malloc0':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/utilities.c:39:13: warning: unused variable 'alignment' [-Wunused-variable]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    39 |         int alignment = 16;
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |             ^~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anf.c: In function 'setSamplerate_anf':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anf.c:149:36: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   149 | void setSamplerate_anf (ANF a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/varsamp.c: In function 'xvarsamp':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/varsamp.c:153:41: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   153 |                         a->inv_cvar = *((double *)&N);
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                        ~^~~~~~~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anr.c: In function 'setSamplerate_anr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/anr.c:149:36: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   149 | void setSamplerate_anr (ANR a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/dexp.c: In function 'SendAntiVOXData':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/dexp.c:708:35: warning: unused parameter 'nsamples' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   708 | void SendAntiVOXData (int id, int nsamples, double* data)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                               ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/div.c: In function 'flush_div':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/div.c:62:22: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    62 | void flush_div (MDIV a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                 ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c: In function 'flush_gain':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:52:23: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    52 | void flush_gain (GAIN a)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                  ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c: In function 'setSamplerate_gain':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:86:31: warning: unused parameter 'a' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    86 | void setSamplerate_gain (GAIN a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                          ~~~~~^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/gain.c:86:38: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    86 | void setSamplerate_gain (GAIN a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                  ~~~~^~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/doublepole.c: In function 'H':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/doublepole.c:44:23: warning: unused parameter 'scale' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    44 | static void H (double scale, double fcenter, double bandwidth, double f, double Hres[])
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                ~~~~~~~^~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c: In function 'xsbnr':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c:118:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   118 |                 for (size_t i = 0; i < bs; i++)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sbnr.c:124:38: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   124 |                 for (size_t i = 0; i < bs; i++)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ^
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c: In function 'psccF':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c:840:104: warning: unused parameter 'mox' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   840 | void psccF (int channel, int size, float *Itxbuff, float *Qtxbuff, float *Irxbuff, float *Qrxbuff, int mox, int solidmox)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                                    ~~~~^~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/calcc.c:840:113: warning: unused parameter 'solidmox' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:   840 | void psccF (int channel, int size, float *Itxbuff, float *Qtxbuff, float *Irxbuff, float *Qrxbuff, int mox, int solidmox)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                                                                                             ~~~~^~~~~~~~
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sender.c: In function 'setSamplerate_sender':
[INFO] [stderr] warning: rustyHPSDR@0.1.2: wdsp/sender.c:93:42: warning: unused parameter 'rate' [-Wunused-parameter]
[INFO] [stderr] warning: rustyHPSDR@0.1.2:    93 | void setSamplerate_sender (SENDER a, int rate)
[INFO] [stderr] warning: rustyHPSDR@0.1.2:       |                                      ~~~~^~~~
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/midi/mod.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::{Deserialize, Serialize};
[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: `Ignore` and `MidiInputPort`
[INFO] [stdout]   --> src/midi/mod.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use midir::{Ignore, MidiInput, MidiInputPort, MidiIO};
[INFO] [stdout]    |             ^^^^^^             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/midi/mod.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::{Deserialize, Serialize};
[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: `Ignore` and `MidiInputPort`
[INFO] [stdout]   --> src/midi/mod.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | use midir::{Ignore, MidiInput, MidiInputPort, MidiIO};
[INFO] [stdout]    |             ^^^^^^             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MidiIO`
[INFO] [stdout]   --> src/midi/mod.rs:22:47
[INFO] [stdout]    |
[INFO] [stdout] 22 | use midir::{Ignore, MidiInput, MidiInputPort, MidiIO};
[INFO] [stdout]    |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_addr`
[INFO] [stdout]    --> src/discovery/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let local_addr = socket.local_addr().expect("failed to get local address");
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/discovery/mod.rs:299:31
[INFO] [stdout]     |
[INFO] [stdout] 299 |                     if let Ok(socket) = std::net::UdpSocket::bind((ip,5000)) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MidiIO`
[INFO] [stdout]   --> src/midi/mod.rs:22:47
[INFO] [stdout]    |
[INFO] [stdout] 22 | use midir::{Ignore, MidiInput, MidiInputPort, MidiIO};
[INFO] [stdout]    |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_addr`
[INFO] [stdout]    --> src/discovery/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let local_addr = socket.local_addr().expect("failed to get local address");
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket`
[INFO] [stdout]    --> src/discovery/mod.rs:299:31
[INFO] [stdout]     |
[INFO] [stdout] 299 |                     if let Ok(socket) = std::net::UdpSocket::bind((ip,5000)) {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]    --> src/filters/mod.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout] 475 |         m[filter].low = low;
[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: value assigned to `m` is never read
[INFO] [stdout]    --> src/filters/mod.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |         m[filter].high = high;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]    --> src/filters/mod.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout] 475 |         m[filter].low = low;
[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: value assigned to `m` is never read
[INFO] [stdout]    --> src/filters/mod.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |         m[filter].high = high;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `process_rx_audio` is never read
[INFO] [stdout]    --> src/protocol1/mod.rs:569:13
[INFO] [stdout]     |
[INFO] [stdout] 569 |             process_rx_audio = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cat/mod.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut writer_stream = stream.try_clone()?;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/cat/mod.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let cmd = input.trim_end_matches(';').to_uppercase(); // cmd does not include the ;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/cat/mod.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for (i, cmd) in commands.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]    --> src/cat/mod.rs:136:47
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn parse_zz_command(&self, command: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:136:73
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn parse_zz_command(&self, command: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                                         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/cat/mod.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let cmd = &command[..4];
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let suffix = &command[4..];
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]    --> src/cat/mod.rs:142:36
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:142:62
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let mut r = radio_mutex.radio.lock().unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut r = radio_mutex.radio.lock().unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:187:22
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]    --> src/cat/mod.rs:187:36
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:187:62
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:191:22
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn IF_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:191:62
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn IF_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:216:62
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn KS_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut r = radio_mutex.radio.lock().unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:227:62
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn MD_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let mut reply = "".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:238:22
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn RX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:248:62
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn VX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let mut reply = "".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:259:22
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn TX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `process_rx_audio` is never read
[INFO] [stdout]    --> src/protocol1/mod.rs:569:13
[INFO] [stdout]     |
[INFO] [stdout] 569 |             process_rx_audio = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]   --> src/midi/mod.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn run(&self, radio_mutex: &RadioMutex, tx: &mpsc::Sender<MidiMessage>, stop_flag: Arc<AtomicBool>) -> Result<(), Box<dyn Er...
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `band_grid`
[INFO] [stdout]    --> src/widgets/mod.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let band_grid: Grid = builder
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_band_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode_grid`
[INFO] [stdout]    --> src/widgets/mod.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mode_grid: Grid = builder
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mode_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter_grid`
[INFO] [stdout]    --> src/widgets/mod.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let filter_grid: Grid = builder
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/antenna/mod.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             5 => Some(Antenna::XVTR),
[INFO] [stdout]    |             - matches all the relevant values
[INFO] [stdout] 42 |             5 => Some(Antenna::NONE),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_u32_with_separators` is never used
[INFO] [stdout]    --> src/radio/mod.rs:683:4
[INFO] [stdout]     |
[INFO] [stdout] 683 | fn format_u32_with_separators(value: u32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_meter` is never used
[INFO] [stdout]    --> src/radio/mod.rs:699:4
[INFO] [stdout]     |
[INFO] [stdout] 699 | fn draw_meter(cr: &Context, dbm: f64) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_waterfall` is never used
[INFO] [stdout]    --> src/radio/mod.rs:742:4
[INFO] [stdout]     |
[INFO] [stdout] 742 | fn draw_waterfall(cr: &Context, width: i32, height: i32, pixbuf: &Rc<RefCell<Option<Pixbuf>>>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBRX_BASE_CHANNEL` is never used
[INFO] [stdout]   --> src/receiver/mod.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const SUBRX_BASE_CHANNEL: i32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `receive_sequence`, `wide_sequence`, `n_samples`, `left_sample`, and `right_sample` are never read
[INFO] [stdout]   --> src/protocol1/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Protocol1 {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     receive_sequence: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     send_sequence: u32,
[INFO] [stdout] 48 |     wide_sequence: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     n_samples: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 53 |     left_sample: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 54 |     right_sample: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `f64_to_f32` is never used
[INFO] [stdout]    --> src/protocol1/mod.rs:873:8
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl Protocol1 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 873 |     fn f64_to_f32(input: Vec<f64>) -> Vec<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_YELLOW_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const RX_YELLOW_LED: u32 = 0x00000001;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_1` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const UNUSED_1: u32 =      0x00000080;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `XVTR_RX_IN` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const XVTR_RX_IN: u32 =    0x00000100;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_2_IN` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const RX_2_IN: u32 =       0x00000200;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_1_IN` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const RX_1_IN: u32 =       0x00000400;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_1_OUT` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const RX_1_OUT: u32 =      0x00000800;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_20_dB` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ATTEN_20_dB: u32 =   0x00002000;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_10_dB` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const ATTEN_10_dB: u32 =   0x00004000;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_RED_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const RX_RED_LED: u32 =    0x00008000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_2` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const UNUSED_2: u32 =      0x00010000;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_3` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const UNUSED_3: u32 =      0x00020000;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRX_STATUS` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const TRX_STATUS: u32 =    0x00040000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_YELLOW_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const TX_YELLOW_LED: u32 = 0x00080000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANT_1` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const ANT_1: u32 =         0x01000000;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANT_2` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const ANT_2: u32 =         0x02000000;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANT_3` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const ANT_3: u32 =         0x04000000;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TR_RELAY` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const TR_RELAY: u32 =      0x08000000;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_RED_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 | const TX_RED_LED: u32 =    0x10000000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `receivers`, `previous_filter1`, and `previous_filter2` are never read
[INFO] [stdout]   --> src/protocol2/mod.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Protocol2 {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     receivers: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     previous_filter1: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     previous_filter2: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `f64_to_f32` is never used
[INFO] [stdout]    --> src/protocol2/mod.rs:841:8
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl Protocol2 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 841 |     fn f64_to_f32(input: Vec<f64>) -> Vec<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `swr` is never read
[INFO] [stdout]   --> src/meter/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Meter {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 23 |     surface: ImageSurface,
[INFO] [stdout] 24 |     swr: f32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Meter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MidiVfoA` and `MidiVfoB` are never constructed
[INFO] [stdout]   --> src/midi/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum MidiAction {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout] 28 |     MidiNone,
[INFO] [stdout] 29 |     MidiVfoA,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     MidiVfoB,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MidiAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `midi_action` is never read
[INFO] [stdout]   --> src/midi/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct MidiFunction {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 56 |     midi_type: MidiType,
[INFO] [stdout] 57 |     midi_action: MidiAction,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MidiFunction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/radio/mod.rs:606:21
[INFO] [stdout]     |
[INFO] [stdout] 606 |                     file.read_to_string(&mut s);
[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] 606 |                     let _ = file.read_to_string(&mut s);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_Nrvals` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:503:12
[INFO] [stdout]     |
[INFO] [stdout] 503 |     pub fn update_Nrvals(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_nrvals`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_Anfvals` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 |     pub fn update_Anfvals(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_anfvals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_AgcPosition` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:515:12
[INFO] [stdout]     |
[INFO] [stdout] 515 |     pub fn update_AgcPosition(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_agc_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fscLin` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 589 |         let fscLin = 0.0;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `fsc_lin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fscHin` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:590:13
[INFO] [stdout]     |
[INFO] [stdout] 590 |         let fscHin = 0.0;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `fsc_hin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterLSB` should have an upper case name
[INFO] [stdout]   --> src/filters/mod.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 |         const filterLSB: [Filter; 12] = [
[INFO] [stdout]    |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_LSB`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterUSB` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |         const filterUSB: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_USB`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterCWL` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |         const filterCWL: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_CWL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterCWU` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |         const filterCWU: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_CWU`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDIGL` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const filterDIGL: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DIGL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDIGU` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:165:15
[INFO] [stdout]     |
[INFO] [stdout] 165 |         const filterDIGU: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DIGU`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterAM` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |         const filterAM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to upper case: `FILTER_AM`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterSAM` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |         const filterSAM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_SAM`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterFMN` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |         const filterFMN: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_FMN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDSB` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 225 |         const filterDSB: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DSB`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterSPEC` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 |         const filterSPEC: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `FILTER_SPEC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDRM` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:255:15
[INFO] [stdout]     |
[INFO] [stdout] 255 |         const filterDRM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DRM`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cat/mod.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut writer_stream = stream.try_clone()?;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/cat/mod.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let cmd = input.trim_end_matches(';').to_uppercase(); // cmd does not include the ;
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/cat/mod.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for (i, cmd) in commands.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]    --> src/cat/mod.rs:136:47
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn parse_zz_command(&self, command: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:136:73
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn parse_zz_command(&self, command: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                                         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> src/cat/mod.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let cmd = &command[..4];
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let suffix = &command[4..];
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]    --> src/cat/mod.rs:142:36
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:142:62
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let mut r = radio_mutex.radio.lock().unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut r = radio_mutex.radio.lock().unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:187:22
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]    --> src/cat/mod.rs:187:36
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:187:62
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_20_dB` should have an upper case name
[INFO] [stdout]   --> src/protocol2/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ATTEN_20_dB: u32 =   0x00002000;
[INFO] [stdout]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `ATTEN_20_D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:191:22
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn IF_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:191:62
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn IF_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_10_dB` should have an upper case name
[INFO] [stdout]   --> src/protocol2/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const ATTEN_10_dB: u32 =   0x00004000;
[INFO] [stdout]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `ATTEN_10_D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:216:62
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn KS_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut r = radio_mutex.radio.lock().unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_S_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:217:11
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub const rxaMeterType_RXA_S_PK: rxaMeterType = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_S_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_S_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:218:11
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub const rxaMeterType_RXA_S_AV: rxaMeterType = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_S_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:227:62
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn MD_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let mut reply = "".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:238:22
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn RX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_ADC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:219:11
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub const rxaMeterType_RXA_ADC_PK: rxaMeterType = 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_ADC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_ADC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:220:11
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub const rxaMeterType_RXA_ADC_AV: rxaMeterType = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_ADC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_AGC_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:221:11
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub const rxaMeterType_RXA_AGC_GAIN: rxaMeterType = 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_AGC_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_AGC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:222:11
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub const rxaMeterType_RXA_AGC_PK: rxaMeterType = 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_AGC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_AGC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:223:11
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub const rxaMeterType_RXA_AGC_AV: rxaMeterType = 6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_AGC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]    --> src/cat/mod.rs:248:62
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn VX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_METERTYPE_LAST` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub const rxaMeterType_RXA_METERTYPE_LAST: rxaMeterType = 7;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_METERTYPE_LAST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_MIC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:562:11
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub const txaMeterType_TXA_MIC_PK: txaMeterType = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_MIC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_MIC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:563:11
[INFO] [stdout]     |
[INFO] [stdout] 563 | pub const txaMeterType_TXA_MIC_AV: txaMeterType = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_MIC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_EQ_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:564:11
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub const txaMeterType_TXA_EQ_PK: txaMeterType = 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_EQ_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_EQ_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:565:11
[INFO] [stdout]     |
[INFO] [stdout] 565 | pub const txaMeterType_TXA_EQ_AV: txaMeterType = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_EQ_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_LVLR_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:566:11
[INFO] [stdout]     |
[INFO] [stdout] 566 | pub const txaMeterType_TXA_LVLR_PK: txaMeterType = 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_LVLR_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_LVLR_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:567:11
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub const txaMeterType_TXA_LVLR_AV: txaMeterType = 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_LVLR_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_LVLR_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:568:11
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub const txaMeterType_TXA_LVLR_GAIN: txaMeterType = 6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_LVLR_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cat/mod.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let mut reply = "".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_CFC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:569:11
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub const txaMeterType_TXA_CFC_PK: txaMeterType = 7;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_CFC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `suffix`
[INFO] [stdout]    --> src/cat/mod.rs:259:22
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn TX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_CFC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:570:11
[INFO] [stdout]     |
[INFO] [stdout] 570 | pub const txaMeterType_TXA_CFC_AV: txaMeterType = 8;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_CFC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_CFC_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:571:11
[INFO] [stdout]     |
[INFO] [stdout] 571 | pub const txaMeterType_TXA_CFC_GAIN: txaMeterType = 9;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_CFC_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_COMP_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:572:11
[INFO] [stdout]     |
[INFO] [stdout] 572 | pub const txaMeterType_TXA_COMP_PK: txaMeterType = 10;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_COMP_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_COMP_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:573:11
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub const txaMeterType_TXA_COMP_AV: txaMeterType = 11;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_COMP_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_ALC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:574:11
[INFO] [stdout]     |
[INFO] [stdout] 574 | pub const txaMeterType_TXA_ALC_PK: txaMeterType = 12;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_ALC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_ALC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:575:11
[INFO] [stdout]     |
[INFO] [stdout] 575 | pub const txaMeterType_TXA_ALC_AV: txaMeterType = 13;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_ALC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_ALC_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:576:11
[INFO] [stdout]     |
[INFO] [stdout] 576 | pub const txaMeterType_TXA_ALC_GAIN: txaMeterType = 14;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_ALC_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_OUT_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:577:11
[INFO] [stdout]     |
[INFO] [stdout] 577 | pub const txaMeterType_TXA_OUT_PK: txaMeterType = 15;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_OUT_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_OUT_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:578:11
[INFO] [stdout]     |
[INFO] [stdout] 578 | pub const txaMeterType_TXA_OUT_AV: txaMeterType = 16;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_OUT_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_METERTYPE_LAST` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:579:11
[INFO] [stdout]     |
[INFO] [stdout] 579 | pub const txaMeterType_TXA_METERTYPE_LAST: txaMeterType = 17;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_METERTYPE_LAST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_0dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ALEX_ATTENUATION_0dB: u32 =    0x00000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_0D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_10dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ALEX_ATTENUATION_10dB: u32 =   0x00004000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_10D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_20dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ALEX_ATTENUATION_20dB: u32 =   0x00002000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_20D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_30dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ALEX_ATTENUATION_30dB: u32 =   0x00006000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_30D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]   --> src/waterfall/mod.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 let mut R = 0.0;
[INFO] [stdout]    |                         ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `G` should have a snake case name
[INFO] [stdout]   --> src/waterfall/mod.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let mut G = 0.0;
[INFO] [stdout]    |                         ^ help: convert the identifier to snake case: `g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/waterfall/mod.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 let mut B = 0.0;
[INFO] [stdout]    |                         ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `AI_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `ai_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `FA_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn FA_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `fa_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `FB_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn FB_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `fb_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ID_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `id_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `IF_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn IF_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `if_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `KS_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn KS_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ks_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `MD_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn MD_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `md_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `RX_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn RX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `rx_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `VX_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn VX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `vx_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `TX_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:259:8
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn TX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `tx_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio_mutex`
[INFO] [stdout]   --> src/midi/mod.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn run(&self, radio_mutex: &RadioMutex, tx: &mpsc::Sender<MidiMessage>, stop_flag: Arc<AtomicBool>) -> Result<(), Box<dyn Er...
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_radio_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `band_grid`
[INFO] [stdout]    --> src/widgets/mod.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let band_grid: Grid = builder
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_band_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode_grid`
[INFO] [stdout]    --> src/widgets/mod.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mode_grid: Grid = builder
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mode_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter_grid`
[INFO] [stdout]    --> src/widgets/mod.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let filter_grid: Grid = builder
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter_grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/antenna/mod.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             5 => Some(Antenna::XVTR),
[INFO] [stdout]    |             - matches all the relevant values
[INFO] [stdout] 42 |             5 => Some(Antenna::NONE),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_u32_with_separators` is never used
[INFO] [stdout]    --> src/radio/mod.rs:683:4
[INFO] [stdout]     |
[INFO] [stdout] 683 | fn format_u32_with_separators(value: u32) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_meter` is never used
[INFO] [stdout]    --> src/radio/mod.rs:699:4
[INFO] [stdout]     |
[INFO] [stdout] 699 | fn draw_meter(cr: &Context, dbm: f64) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_waterfall` is never used
[INFO] [stdout]    --> src/radio/mod.rs:742:4
[INFO] [stdout]     |
[INFO] [stdout] 742 | fn draw_waterfall(cr: &Context, width: i32, height: i32, pixbuf: &Rc<RefCell<Option<Pixbuf>>>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBRX_BASE_CHANNEL` is never used
[INFO] [stdout]   --> src/receiver/mod.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const SUBRX_BASE_CHANNEL: i32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `receive_sequence`, `wide_sequence`, `n_samples`, `left_sample`, and `right_sample` are never read
[INFO] [stdout]   --> src/protocol1/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Protocol1 {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     receive_sequence: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     send_sequence: u32,
[INFO] [stdout] 48 |     wide_sequence: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     n_samples: i32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 53 |     left_sample: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 54 |     right_sample: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `f64_to_f32` is never used
[INFO] [stdout]    --> src/protocol1/mod.rs:873:8
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl Protocol1 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 873 |     fn f64_to_f32(input: Vec<f64>) -> Vec<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_YELLOW_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const RX_YELLOW_LED: u32 = 0x00000001;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_1` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const UNUSED_1: u32 =      0x00000080;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `XVTR_RX_IN` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const XVTR_RX_IN: u32 =    0x00000100;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_2_IN` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const RX_2_IN: u32 =       0x00000200;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_1_IN` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const RX_1_IN: u32 =       0x00000400;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_1_OUT` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const RX_1_OUT: u32 =      0x00000800;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_20_dB` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ATTEN_20_dB: u32 =   0x00002000;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_10_dB` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const ATTEN_10_dB: u32 =   0x00004000;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_RED_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const RX_RED_LED: u32 =    0x00008000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_2` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const UNUSED_2: u32 =      0x00010000;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNUSED_3` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const UNUSED_3: u32 =      0x00020000;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRX_STATUS` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const TRX_STATUS: u32 =    0x00040000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_YELLOW_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const TX_YELLOW_LED: u32 = 0x00080000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANT_1` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const ANT_1: u32 =         0x01000000;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANT_2` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const ANT_2: u32 =         0x02000000;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANT_3` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const ANT_3: u32 =         0x04000000;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TR_RELAY` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const TR_RELAY: u32 =      0x08000000;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_RED_LED` is never used
[INFO] [stdout]   --> src/protocol2/mod.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 | const TX_RED_LED: u32 =    0x10000000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `receivers`, `previous_filter1`, and `previous_filter2` are never read
[INFO] [stdout]   --> src/protocol2/mod.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Protocol2 {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     receivers: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     previous_filter1: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     previous_filter2: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `f64_to_f32` is never used
[INFO] [stdout]    --> src/protocol2/mod.rs:841:8
[INFO] [stdout]     |
[INFO] [stdout]  87 | impl Protocol2 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 841 |     fn f64_to_f32(input: Vec<f64>) -> Vec<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `swr` is never read
[INFO] [stdout]   --> src/meter/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Meter {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 23 |     surface: ImageSurface,
[INFO] [stdout] 24 |     swr: f32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Meter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MidiVfoA` and `MidiVfoB` are never constructed
[INFO] [stdout]   --> src/midi/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum MidiAction {
[INFO] [stdout]    |      ---------- variants in this enum
[INFO] [stdout] 28 |     MidiNone,
[INFO] [stdout] 29 |     MidiVfoA,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     MidiVfoB,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MidiAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `midi_action` is never read
[INFO] [stdout]   --> src/midi/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct MidiFunction {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 56 |     midi_type: MidiType,
[INFO] [stdout] 57 |     midi_action: MidiAction,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MidiFunction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `rustyHPSDR` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `rusty_hpsdr`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/radio/mod.rs:606:21
[INFO] [stdout]     |
[INFO] [stdout] 606 |                     file.read_to_string(&mut s);
[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] 606 |                     let _ = file.read_to_string(&mut s);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_Nrvals` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:503:12
[INFO] [stdout]     |
[INFO] [stdout] 503 |     pub fn update_Nrvals(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_nrvals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_Anfvals` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 |     pub fn update_Anfvals(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_anfvals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_AgcPosition` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:515:12
[INFO] [stdout]     |
[INFO] [stdout] 515 |     pub fn update_AgcPosition(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_agc_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fscLin` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:589:13
[INFO] [stdout]     |
[INFO] [stdout] 589 |         let fscLin = 0.0;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `fsc_lin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fscHin` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:590:13
[INFO] [stdout]     |
[INFO] [stdout] 590 |         let fscHin = 0.0;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `fsc_hin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterLSB` should have an upper case name
[INFO] [stdout]   --> src/filters/mod.rs:90:15
[INFO] [stdout]    |
[INFO] [stdout] 90 |         const filterLSB: [Filter; 12] = [
[INFO] [stdout]    |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_LSB`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterUSB` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |         const filterUSB: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_USB`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterCWL` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |         const filterCWL: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_CWL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterCWU` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |         const filterCWU: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_CWU`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDIGL` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const filterDIGL: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DIGL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDIGU` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:165:15
[INFO] [stdout]     |
[INFO] [stdout] 165 |         const filterDIGU: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DIGU`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterAM` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |         const filterAM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^ help: convert the identifier to upper case: `FILTER_AM`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterSAM` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |         const filterSAM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_SAM`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterFMN` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |         const filterFMN: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_FMN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDSB` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:225:15
[INFO] [stdout]     |
[INFO] [stdout] 225 |         const filterDSB: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DSB`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterSPEC` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 |         const filterSPEC: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^^ help: convert the identifier to upper case: `FILTER_SPEC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterDRM` should have an upper case name
[INFO] [stdout]    --> src/filters/mod.rs:255:15
[INFO] [stdout]     |
[INFO] [stdout] 255 |         const filterDRM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DRM`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_20_dB` should have an upper case name
[INFO] [stdout]   --> src/protocol2/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ATTEN_20_dB: u32 =   0x00002000;
[INFO] [stdout]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `ATTEN_20_D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATTEN_10_dB` should have an upper case name
[INFO] [stdout]   --> src/protocol2/mod.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const ATTEN_10_dB: u32 =   0x00004000;
[INFO] [stdout]    |       ^^^^^^^^^^^ help: convert the identifier to upper case: `ATTEN_10_D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_S_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:217:11
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub const rxaMeterType_RXA_S_PK: rxaMeterType = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_S_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_S_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:218:11
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub const rxaMeterType_RXA_S_AV: rxaMeterType = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_S_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_ADC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:219:11
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub const rxaMeterType_RXA_ADC_PK: rxaMeterType = 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_ADC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_ADC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:220:11
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub const rxaMeterType_RXA_ADC_AV: rxaMeterType = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_ADC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_AGC_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:221:11
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub const rxaMeterType_RXA_AGC_GAIN: rxaMeterType = 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_AGC_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_AGC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:222:11
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub const rxaMeterType_RXA_AGC_PK: rxaMeterType = 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_AGC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_AGC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:223:11
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub const rxaMeterType_RXA_AGC_AV: rxaMeterType = 6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_AGC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rxaMeterType_RXA_METERTYPE_LAST` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub const rxaMeterType_RXA_METERTYPE_LAST: rxaMeterType = 7;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `RXA_METER_TYPE_RXA_METERTYPE_LAST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_MIC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:562:11
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub const txaMeterType_TXA_MIC_PK: txaMeterType = 0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_MIC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_MIC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:563:11
[INFO] [stdout]     |
[INFO] [stdout] 563 | pub const txaMeterType_TXA_MIC_AV: txaMeterType = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_MIC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_EQ_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:564:11
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub const txaMeterType_TXA_EQ_PK: txaMeterType = 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_EQ_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_EQ_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:565:11
[INFO] [stdout]     |
[INFO] [stdout] 565 | pub const txaMeterType_TXA_EQ_AV: txaMeterType = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_EQ_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_LVLR_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:566:11
[INFO] [stdout]     |
[INFO] [stdout] 566 | pub const txaMeterType_TXA_LVLR_PK: txaMeterType = 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_LVLR_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_LVLR_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:567:11
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub const txaMeterType_TXA_LVLR_AV: txaMeterType = 5;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_LVLR_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_LVLR_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:568:11
[INFO] [stdout]     |
[INFO] [stdout] 568 | pub const txaMeterType_TXA_LVLR_GAIN: txaMeterType = 6;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_LVLR_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_CFC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:569:11
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub const txaMeterType_TXA_CFC_PK: txaMeterType = 7;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_CFC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_CFC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:570:11
[INFO] [stdout]     |
[INFO] [stdout] 570 | pub const txaMeterType_TXA_CFC_AV: txaMeterType = 8;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_CFC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_CFC_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:571:11
[INFO] [stdout]     |
[INFO] [stdout] 571 | pub const txaMeterType_TXA_CFC_GAIN: txaMeterType = 9;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_CFC_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_COMP_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:572:11
[INFO] [stdout]     |
[INFO] [stdout] 572 | pub const txaMeterType_TXA_COMP_PK: txaMeterType = 10;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_COMP_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_COMP_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:573:11
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub const txaMeterType_TXA_COMP_AV: txaMeterType = 11;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_COMP_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_ALC_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:574:11
[INFO] [stdout]     |
[INFO] [stdout] 574 | pub const txaMeterType_TXA_ALC_PK: txaMeterType = 12;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_ALC_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_ALC_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:575:11
[INFO] [stdout]     |
[INFO] [stdout] 575 | pub const txaMeterType_TXA_ALC_AV: txaMeterType = 13;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_ALC_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_ALC_GAIN` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:576:11
[INFO] [stdout]     |
[INFO] [stdout] 576 | pub const txaMeterType_TXA_ALC_GAIN: txaMeterType = 14;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_ALC_GAIN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_OUT_PK` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:577:11
[INFO] [stdout]     |
[INFO] [stdout] 577 | pub const txaMeterType_TXA_OUT_PK: txaMeterType = 15;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_OUT_PK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_OUT_AV` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:578:11
[INFO] [stdout]     |
[INFO] [stdout] 578 | pub const txaMeterType_TXA_OUT_AV: txaMeterType = 16;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_OUT_AV`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `txaMeterType_TXA_METERTYPE_LAST` should have an upper case name
[INFO] [stdout]    --> src/wdsp/mod.rs:579:11
[INFO] [stdout]     |
[INFO] [stdout] 579 | pub const txaMeterType_TXA_METERTYPE_LAST: txaMeterType = 17;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TXA_METER_TYPE_TXA_METERTYPE_LAST`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_0dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const ALEX_ATTENUATION_0dB: u32 =    0x00000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_0D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_10dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const ALEX_ATTENUATION_10dB: u32 =   0x00004000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_10D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_20dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const ALEX_ATTENUATION_20dB: u32 =   0x00002000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_20D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALEX_ATTENUATION_30dB` should have an upper case name
[INFO] [stdout]   --> src/alex/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const ALEX_ATTENUATION_30dB: u32 =   0x00006000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `ALEX_ATTENUATION_30D_B`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]   --> src/waterfall/mod.rs:77:25
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 let mut R = 0.0;
[INFO] [stdout]    |                         ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `G` should have a snake case name
[INFO] [stdout]   --> src/waterfall/mod.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let mut G = 0.0;
[INFO] [stdout]    |                         ^ help: convert the identifier to snake case: `g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]   --> src/waterfall/mod.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 let mut B = 0.0;
[INFO] [stdout]    |                         ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `AI_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn AI_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `ai_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `FA_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn FA_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `fa_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `FB_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn FB_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `fb_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ID_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn ID_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `id_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `IF_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 |     fn IF_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `if_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `KS_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn KS_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ks_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `MD_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn MD_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `md_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `RX_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn RX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `rx_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `VX_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn VX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `vx_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `TX_cmd` should have a snake case name
[INFO] [stdout]    --> src/cat/mod.rs:259:8
[INFO] [stdout]     |
[INFO] [stdout] 259 |     fn TX_cmd(&self, suffix: &str, radio_mutex: &RadioMutex, tx: mpsc::Sender<CatMessage>) -> String {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `tx_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `clone`: Using old-style clone! syntax
[INFO] [stdout]     --> src/main.rs:1662:73
[INFO] [stdout]      |
[INFO] [stdout] 1662 |   ...   glib::timeout_add_local(Duration::from_millis(100), clone!(@strong radio_mutex_clone, @strong rc_app_widgets_clone=> move ...
[INFO] [stdout]      |  ___________________________________________________________^
[INFO] [stdout] 1663 | | ...       match rx.try_recv() {
[INFO] [stdout] 1664 | | ...           Ok(msg) => {
[INFO] [stdout] ...    |
[INFO] [stdout] 1734 | | ...   }));
[INFO] [stdout]      | |________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `clone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `clone`: Using old-style clone! syntax
[INFO] [stdout]     --> src/main.rs:1779:73
[INFO] [stdout]      |
[INFO] [stdout] 1779 |   ...   glib::timeout_add_local(Duration::from_millis(100), clone!(@strong radio_mutex_clone, @strong rc_app_widgets_clone=> move ...
[INFO] [stdout]      |  ___________________________________________________________^
[INFO] [stdout] 1780 | | ...       match rx.try_recv() {
[INFO] [stdout] 1781 | | ...           Ok(msg) => {
[INFO] [stdout] ...    |
[INFO] [stdout] 1808 | | ...   }));
[INFO] [stdout]      | |________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `clone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `gtk4::StyleContext`: Since 4.10
[INFO] [stdout]    --> src/main.rs:159:10
[INFO] [stdout]     |
[INFO] [stdout] 159 |     gtk::StyleContext::add_provider_for_display(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::CssProvider::load_from_data`: Since 4.12
[INFO] [stdout]    --> src/main.rs:158:14
[INFO] [stdout]     |
[INFO] [stdout] 158 |     provider.load_from_data(ui_css);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `gtk4::style_context::<impl gtk4::StyleContext>::add_provider_for_display`: Use gtk::style_context_add_provider_for_display instead.
[INFO] [stdout]    --> src/main.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |     gtk::StyleContext::add_provider_for_display(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `clone`: Using old-style clone! syntax
[INFO] [stdout]     --> src/main.rs:1662:73
[INFO] [stdout]      |
[INFO] [stdout] 1662 |   ...   glib::timeout_add_local(Duration::from_millis(100), clone!(@strong radio_mutex_clone, @strong rc_app_widgets_clone=> move ...
[INFO] [stdout]      |  ___________________________________________________________^
[INFO] [stdout] 1663 | | ...       match rx.try_recv() {
[INFO] [stdout] 1664 | | ...           Ok(msg) => {
[INFO] [stdout] ...    |
[INFO] [stdout] 1734 | | ...   }));
[INFO] [stdout]      | |________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]      = note: this warning originates in the macro `clone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `clone`: Using old-style clone! syntax
[INFO] [stdout]     --> src/main.rs:1779:73
[INFO] [stdout]      |
[INFO] [stdout] 1779 |   ...   glib::timeout_add_local(Duration::from_millis(100), clone!(@strong radio_mutex_clone, @strong rc_app_widgets_clone=> move ...
[INFO] [stdout]      |  ___________________________________________________________^
[INFO] [stdout] 1780 | | ...       match rx.try_recv() {
[INFO] [stdout] 1781 | | ...           Ok(msg) => {
[INFO] [stdout] ...    |
[INFO] [stdout] 1808 | | ...   }));
[INFO] [stdout]      | |________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `clone` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:336:71
[INFO] [stdout]     |
[INFO] [stdout] 336 |                         let style_context = app_widgets.a_to_b_button.style_context();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:337:39
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         style_context.add_class("basic-button");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:338:71
[INFO] [stdout]     |
[INFO] [stdout] 338 |                         let style_context = app_widgets.b_to_a_button.style_context();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:339:39
[INFO] [stdout]     |
[INFO] [stdout] 339 |                         style_context.add_class("basic-button");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:340:73
[INFO] [stdout]     |
[INFO] [stdout] 340 |                         let style_context = app_widgets.a_swap_b_button.style_context();
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:341:39
[INFO] [stdout]     |
[INFO] [stdout] 341 |                         style_context.add_class("basic-button");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:343:69
[INFO] [stdout]     |
[INFO] [stdout] 343 |                         let style_context = app_widgets.ctun_button.style_context();
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:344:39
[INFO] [stdout]     |
[INFO] [stdout] 344 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:347:68
[INFO] [stdout]     |
[INFO] [stdout] 347 |                         let style_context = app_widgets.cat_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:348:39
[INFO] [stdout]     |
[INFO] [stdout] 348 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:351:69
[INFO] [stdout]     |
[INFO] [stdout] 351 |                         let style_context = app_widgets.midi_button.style_context();
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:352:39
[INFO] [stdout]     |
[INFO] [stdout] 352 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:355:70
[INFO] [stdout]     |
[INFO] [stdout] 355 |                         let style_context = app_widgets.split_button.style_context();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:356:39
[INFO] [stdout]     |
[INFO] [stdout] 356 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:359:68
[INFO] [stdout]     |
[INFO] [stdout] 359 |                         let style_context = app_widgets.rx2_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:360:39
[INFO] [stdout]     |
[INFO] [stdout] 360 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:427:67
[INFO] [stdout]     |
[INFO] [stdout] 427 |                         let style_context = app_widgets.nr_button.style_context();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `gtk4::StyleContext`: Since 4.10
[INFO] [stdout]    --> src/main.rs:159:10
[INFO] [stdout]     |
[INFO] [stdout] 159 |     gtk::StyleContext::add_provider_for_display(
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:428:39
[INFO] [stdout]     |
[INFO] [stdout] 428 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:447:67
[INFO] [stdout]     |
[INFO] [stdout] 447 |                         let style_context = app_widgets.nb_button.style_context();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:448:39
[INFO] [stdout]     |
[INFO] [stdout] 448 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:459:68
[INFO] [stdout]     |
[INFO] [stdout] 459 |                         let style_context = app_widgets.anf_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:460:39
[INFO] [stdout]     |
[INFO] [stdout] 460 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:464:68
[INFO] [stdout]     |
[INFO] [stdout] 464 |                         let style_context = app_widgets.snb_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:465:39
[INFO] [stdout]     |
[INFO] [stdout] 465 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:469:68
[INFO] [stdout]     |
[INFO] [stdout] 469 |                         let style_context = app_widgets.mox_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:470:39
[INFO] [stdout]     |
[INFO] [stdout] 470 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:472:68
[INFO] [stdout]     |
[INFO] [stdout] 472 |                         let style_context = app_widgets.tun_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:473:39
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:587:52
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         let style_context = button.style_context();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::CssProvider::load_from_data`: Since 4.12
[INFO] [stdout]    --> src/main.rs:158:14
[INFO] [stdout]     |
[INFO] [stdout] 158 |     provider.load_from_data(ui_css);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `gtk4::style_context::<impl gtk4::StyleContext>::add_provider_for_display`: Use gtk::style_context_add_provider_for_display instead.
[INFO] [stdout]    --> src/main.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |     gtk::StyleContext::add_provider_for_display(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:679:40
[INFO] [stdout]     |
[INFO] [stdout] 679 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:712:40
[INFO] [stdout]     |
[INFO] [stdout] 712 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:916:40
[INFO] [stdout]     |
[INFO] [stdout] 916 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:930:40
[INFO] [stdout]     |
[INFO] [stdout] 930 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:336:71
[INFO] [stdout]     |
[INFO] [stdout] 336 |                         let style_context = app_widgets.a_to_b_button.style_context();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:337:39
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         style_context.add_class("basic-button");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:338:71
[INFO] [stdout]     |
[INFO] [stdout] 338 |                         let style_context = app_widgets.b_to_a_button.style_context();
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:339:39
[INFO] [stdout]     |
[INFO] [stdout] 339 |                         style_context.add_class("basic-button");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:340:73
[INFO] [stdout]     |
[INFO] [stdout] 340 |                         let style_context = app_widgets.a_swap_b_button.style_context();
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:341:39
[INFO] [stdout]     |
[INFO] [stdout] 341 |                         style_context.add_class("basic-button");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:343:69
[INFO] [stdout]     |
[INFO] [stdout] 343 |                         let style_context = app_widgets.ctun_button.style_context();
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:344:39
[INFO] [stdout]     |
[INFO] [stdout] 344 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:347:68
[INFO] [stdout]     |
[INFO] [stdout] 347 |                         let style_context = app_widgets.cat_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:348:39
[INFO] [stdout]     |
[INFO] [stdout] 348 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:351:69
[INFO] [stdout]     |
[INFO] [stdout] 351 |                         let style_context = app_widgets.midi_button.style_context();
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:352:39
[INFO] [stdout]     |
[INFO] [stdout] 352 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:355:70
[INFO] [stdout]     |
[INFO] [stdout] 355 |                         let style_context = app_widgets.split_button.style_context();
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:356:39
[INFO] [stdout]     |
[INFO] [stdout] 356 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:359:68
[INFO] [stdout]     |
[INFO] [stdout] 359 |                         let style_context = app_widgets.rx2_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:360:39
[INFO] [stdout]     |
[INFO] [stdout] 360 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:427:67
[INFO] [stdout]     |
[INFO] [stdout] 427 |                         let style_context = app_widgets.nr_button.style_context();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:428:39
[INFO] [stdout]     |
[INFO] [stdout] 428 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:447:67
[INFO] [stdout]     |
[INFO] [stdout] 447 |                         let style_context = app_widgets.nb_button.style_context();
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:448:39
[INFO] [stdout]     |
[INFO] [stdout] 448 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:459:68
[INFO] [stdout]     |
[INFO] [stdout] 459 |                         let style_context = app_widgets.anf_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:460:39
[INFO] [stdout]     |
[INFO] [stdout] 460 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:464:68
[INFO] [stdout]     |
[INFO] [stdout] 464 |                         let style_context = app_widgets.snb_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:465:39
[INFO] [stdout]     |
[INFO] [stdout] 465 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:469:68
[INFO] [stdout]     |
[INFO] [stdout] 469 |                         let style_context = app_widgets.mox_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:470:39
[INFO] [stdout]     |
[INFO] [stdout] 470 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:472:68
[INFO] [stdout]     |
[INFO] [stdout] 472 |                         let style_context = app_widgets.tun_button.style_context();
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::StyleContextExt::add_class`: Since 4.10
[INFO] [stdout]    --> src/main.rs:473:39
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         style_context.add_class("toggle");
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::style_context`: Since 4.10
[INFO] [stdout]    --> src/main.rs:587:52
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         let style_context = button.style_context();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:679:40
[INFO] [stdout]     |
[INFO] [stdout] 679 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:712:40
[INFO] [stdout]     |
[INFO] [stdout] 712 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:916:40
[INFO] [stdout]     |
[INFO] [stdout] 916 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `gtk4::prelude::WidgetExt::allocated_width`: Since 4.12
[INFO] [stdout]    --> src/main.rs:930:40
[INFO] [stdout]     |
[INFO] [stdout] 930 |                         let width = da.allocated_width();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/main.rs:1788:37
[INFO] [stdout]      |
[INFO] [stdout] 1784 | ...                   MidiMessage::StepFrequencyA(increment) => {
[INFO] [stdout]      |                       -------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1788 | ...                   MidiMessage::StepFrequencyA(increment) => {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/main.rs:1788:37
[INFO] [stdout]      |
[INFO] [stdout] 1784 | ...                   MidiMessage::StepFrequencyA(increment) => {
[INFO] [stdout]      |                       -------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 1788 | ...                   MidiMessage::StepFrequencyA(increment) => {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rx2` is never read
[INFO] [stdout]     --> src/main.rs:1554:39
[INFO] [stdout]      |
[INFO] [stdout] 1554 |                         let mut rx2 = false;
[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: value assigned to `is_transmitting` is never read
[INFO] [stdout]     --> src/main.rs:1555:51
[INFO] [stdout]      |
[INFO] [stdout] 1555 |                         let mut is_transmitting = false;
[INFO] [stdout]      |                                                   ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rx2` is never read
[INFO] [stdout]     --> src/main.rs:1532:39
[INFO] [stdout]      |
[INFO] [stdout] 1532 |                         let mut rx2 = false;
[INFO] [stdout]      |                                       ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_transmitting` is never read
[INFO] [stdout]     --> src/main.rs:1533:51
[INFO] [stdout]      |
[INFO] [stdout] 1533 |                         let mut is_transmitting = false;
[INFO] [stdout]      |                                                   ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]     --> src/main.rs:1485:78
[INFO] [stdout]      |
[INFO] [stdout] 1485 |                     app_widgets.meter_2_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]     --> src/main.rs:1485:85
[INFO] [stdout]      |
[INFO] [stdout] 1485 |                     app_widgets.meter_2_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]     --> src/main.rs:1479:78
[INFO] [stdout]      |
[INFO] [stdout] 1479 |                     app_widgets.meter_1_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]     --> src/main.rs:1479:85
[INFO] [stdout]      |
[INFO] [stdout] 1479 |                     app_widgets.meter_1_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex`
[INFO] [stdout]     --> src/main.rs:1368:35
[INFO] [stdout]      |
[INFO] [stdout] 1368 |                         if let Ok(ref mut mutex) = lock {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex`
[INFO] [stdout]     --> src/main.rs:1350:35
[INFO] [stdout]      |
[INFO] [stdout] 1350 |                         if let Ok(ref mut mutex) = lock {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]     --> src/main.rs:1175:29
[INFO] [stdout]      |
[INFO] [stdout] 1175 |                         let active = button.is_active();
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]     --> src/main.rs:1131:29
[INFO] [stdout]      |
[INFO] [stdout] 1131 |                         let active = button.is_active();
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:903:72
[INFO] [stdout]     |
[INFO] [stdout] 903 |                     scroll_controller_waterfall_2.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:892:70
[INFO] [stdout]     |
[INFO] [stdout] 892 |                     scroll_controller_waterfall.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:847:71
[INFO] [stdout]     |
[INFO] [stdout] 847 |                     scroll_controller_spectrum_2.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:800:69
[INFO] [stdout]     |
[INFO] [stdout] 800 |                     scroll_controller_spectrum.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:772:77
[INFO] [stdout]     |
[INFO] [stdout] 772 |                     motion_event_controller_spectrum_2.connect_motion(move |controller, x, y| {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:740:75
[INFO] [stdout]     |
[INFO] [stdout] 740 |                     motion_event_controller_spectrum.connect_motion(move |controller, x, y| {
[INFO] [stdout]     |                                                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:720:84
[INFO] [stdout]     |
[INFO] [stdout] 720 |                     spectrum_2_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:720:96
[INFO] [stdout]     |
[INFO] [stdout] 720 |                     spectrum_2_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:710:83
[INFO] [stdout]     |
[INFO] [stdout] 710 |                     spectrum_2_click_gesture_clone.connect_pressed(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:696:82
[INFO] [stdout]     |
[INFO] [stdout] 696 |                     spectrum_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:696:94
[INFO] [stdout]     |
[INFO] [stdout] 696 |                     spectrum_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:677:81
[INFO] [stdout]     |
[INFO] [stdout] 677 |                     spectrum_click_gesture_clone.connect_pressed(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `step` is never read
[INFO] [stdout]    --> src/main.rs:642:40
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         let mut step = 1000.0;
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style_context`
[INFO] [stdout]    --> src/main.rs:587:29
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         let style_context = button.style_context();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_style_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:497:62
[INFO] [stdout]     |
[INFO] [stdout] 497 |                     scroll_controller_a.connect_scroll(move |controller, dx, dy| {
[INFO] [stdout]     |                                                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dx`
[INFO] [stdout]    --> src/main.rs:497:74
[INFO] [stdout]     |
[INFO] [stdout] 497 |                     scroll_controller_a.connect_scroll(move |controller, dx, dy| {
[INFO] [stdout]     |                                                                          ^^ help: if this is intentional, prefix it with an underscore: `_dx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `middle_button_state`
[INFO] [stdout]    --> src/main.rs:799:25
[INFO] [stdout]     |
[INFO] [stdout] 799 |                     let middle_button_state = middle_button_pressed.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_middle_button_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `middle_button_state`
[INFO] [stdout]    --> src/main.rs:846:25
[INFO] [stdout]     |
[INFO] [stdout] 846 |                     let middle_button_state = middle_button_pressed.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_middle_button_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_meter_tx_clone2`
[INFO] [stdout]     --> src/main.rs:1571:25
[INFO] [stdout]      |
[INFO] [stdout] 1571 |                     let rc_meter_tx_clone2 = rc_meter_tx_clone.clone();
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_meter_tx_clone2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meter_tx_timeout_id`
[INFO] [stdout]     --> src/main.rs:1589:25
[INFO] [stdout]      |
[INFO] [stdout] 1589 |                     let meter_tx_timeout_id = timeout_add_local(Duration::from_millis(update_interval as u64), move || {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meter_tx_timeout_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keepalive_timeout_id`
[INFO] [stdout]     --> src/main.rs:1605:29
[INFO] [stdout]      |
[INFO] [stdout] 1605 |                         let keepalive_timeout_id = timeout_add_local(Duration::from_millis(250), move || {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keepalive_timeout_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone2`
[INFO] [stdout]     --> src/main.rs:1661:25
[INFO] [stdout]      |
[INFO] [stdout] 1661 |                     let rc_app_widgets_clone2 = rc_app_widgets_clone.clone();
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `update_interval` is never read
[INFO] [stdout]     --> src/main.rs:1521:47
[INFO] [stdout]      |
[INFO] [stdout] 1521 |                     let mut update_interval = 100.0;
[INFO] [stdout]      |                                               ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `builder_clone`
[INFO] [stdout]    --> src/main.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let builder_clone = builder.clone();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_meter`
[INFO] [stdout]     --> src/main.rs:1913:89
[INFO] [stdout]      |
[INFO] [stdout] 1913 | fn meter_tx_update(radio_mutex: &RadioMutex,  rc_app_widgets: &Rc<RefCell<AppWidgets>>, rc_meter: &Rc<RefCell<Meter>>) {
[INFO] [stdout]      |                                                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_meter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]     --> src/main.rs:1956:130
[INFO] [stdout]      |
[INFO] [stdout] 1956 | ...ize, x: f64, width: i32, button: u32) -> bool {
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `display_frequency_high`
[INFO] [stdout]     --> src/main.rs:1979:9
[INFO] [stdout]      |
[INFO] [stdout] 1979 |     let display_frequency_high = frequency_high + display_frequency_offset;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_frequency_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency_low`
[INFO] [stdout]     --> src/main.rs:2004:9
[INFO] [stdout]      |
[INFO] [stdout] 2004 |     let frequency_low = r.receiver[rx].frequency - (r.receiver[rx].sample_rate/2) as f64;
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency_high`
[INFO] [stdout]     --> src/main.rs:2005:9
[INFO] [stdout]      |
[INFO] [stdout] 2005 |     let frequency_high = r.receiver[rx].frequency + (r.receiver[rx].sample_rate/2) as f64;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `band`
[INFO] [stdout]     --> src/main.rs:2026:9
[INFO] [stdout]      |
[INFO] [stdout] 2026 |     let band = r.receiver[rx].band;
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_band`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `attenuation` is never read
[INFO] [stdout]     --> src/main.rs:2046:27
[INFO] [stdout]      |
[INFO] [stdout] 2046 |     let mut attenuation = r.receiver[rx].band_info[b].attenuation;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1633:29
[INFO] [stdout]      |
[INFO] [stdout] 1633 | ...                   cat_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[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] 1633 |                             let _ = cat_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[INFO] [stdout]      |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1652:33
[INFO] [stdout]      |
[INFO] [stdout] 1652 | ...                   cat_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[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] 1652 |                                 let _ = cat_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[INFO] [stdout]      |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1750:29
[INFO] [stdout]      |
[INFO] [stdout] 1750 | ...                   midi_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[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] 1750 |                             let _ = midi_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[INFO] [stdout]      |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1769:33
[INFO] [stdout]      |
[INFO] [stdout] 1769 | ...                   midi_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[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] 1769 |                                 let _ = midi_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[INFO] [stdout]      |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rx2` is never read
[INFO] [stdout]     --> src/main.rs:1554:39
[INFO] [stdout]      |
[INFO] [stdout] 1554 |                         let mut rx2 = false;
[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: value assigned to `is_transmitting` is never read
[INFO] [stdout]     --> src/main.rs:1555:51
[INFO] [stdout]      |
[INFO] [stdout] 1555 |                         let mut is_transmitting = false;
[INFO] [stdout]      |                                                   ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rx2` is never read
[INFO] [stdout]     --> src/main.rs:1532:39
[INFO] [stdout]      |
[INFO] [stdout] 1532 |                         let mut rx2 = false;
[INFO] [stdout]      |                                       ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `is_transmitting` is never read
[INFO] [stdout]     --> src/main.rs:1533:51
[INFO] [stdout]      |
[INFO] [stdout] 1533 |                         let mut is_transmitting = false;
[INFO] [stdout]      |                                                   ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]     --> src/main.rs:1485:78
[INFO] [stdout]      |
[INFO] [stdout] 1485 |                     app_widgets.meter_2_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]     --> src/main.rs:1485:85
[INFO] [stdout]      |
[INFO] [stdout] 1485 |                     app_widgets.meter_2_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]     --> src/main.rs:1479:78
[INFO] [stdout]      |
[INFO] [stdout] 1479 |                     app_widgets.meter_1_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]     --> src/main.rs:1479:85
[INFO] [stdout]      |
[INFO] [stdout] 1479 |                     app_widgets.meter_1_display.set_draw_func(move |_da, cr, width, height| {
[INFO] [stdout]      |                                                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex`
[INFO] [stdout]     --> src/main.rs:1368:35
[INFO] [stdout]      |
[INFO] [stdout] 1368 |                         if let Ok(ref mut mutex) = lock {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mutex`
[INFO] [stdout]     --> src/main.rs:1350:35
[INFO] [stdout]      |
[INFO] [stdout] 1350 |                         if let Ok(ref mut mutex) = lock {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]     --> src/main.rs:1175:29
[INFO] [stdout]      |
[INFO] [stdout] 1175 |                         let active = button.is_active();
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]     --> src/main.rs:1131:29
[INFO] [stdout]      |
[INFO] [stdout] 1131 |                         let active = button.is_active();
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:903:72
[INFO] [stdout]     |
[INFO] [stdout] 903 |                     scroll_controller_waterfall_2.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:892:70
[INFO] [stdout]     |
[INFO] [stdout] 892 |                     scroll_controller_waterfall.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:847:71
[INFO] [stdout]     |
[INFO] [stdout] 847 |                     scroll_controller_spectrum_2.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:800:69
[INFO] [stdout]     |
[INFO] [stdout] 800 |                     scroll_controller_spectrum.connect_scroll(move |controller, _dx, dy| {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:772:77
[INFO] [stdout]     |
[INFO] [stdout] 772 |                     motion_event_controller_spectrum_2.connect_motion(move |controller, x, y| {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:740:75
[INFO] [stdout]     |
[INFO] [stdout] 740 |                     motion_event_controller_spectrum.connect_motion(move |controller, x, y| {
[INFO] [stdout]     |                                                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:720:84
[INFO] [stdout]     |
[INFO] [stdout] 720 |                     spectrum_2_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:720:96
[INFO] [stdout]     |
[INFO] [stdout] 720 |                     spectrum_2_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                                ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:710:83
[INFO] [stdout]     |
[INFO] [stdout] 710 |                     spectrum_2_click_gesture_clone.connect_pressed(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:696:82
[INFO] [stdout]     |
[INFO] [stdout] 696 |                     spectrum_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:696:94
[INFO] [stdout]     |
[INFO] [stdout] 696 |                     spectrum_click_gesture_clone.connect_released(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:677:81
[INFO] [stdout]     |
[INFO] [stdout] 677 |                     spectrum_click_gesture_clone.connect_pressed(move |gesture, controller, x, _y| {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `step` is never read
[INFO] [stdout]    --> src/main.rs:642:40
[INFO] [stdout]     |
[INFO] [stdout] 642 |                         let mut step = 1000.0;
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style_context`
[INFO] [stdout]    --> src/main.rs:587:29
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         let style_context = button.style_context();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_style_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `controller`
[INFO] [stdout]    --> src/main.rs:497:62
[INFO] [stdout]     |
[INFO] [stdout] 497 |                     scroll_controller_a.connect_scroll(move |controller, dx, dy| {
[INFO] [stdout]     |                                                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_controller`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dx`
[INFO] [stdout]    --> src/main.rs:497:74
[INFO] [stdout]     |
[INFO] [stdout] 497 |                     scroll_controller_a.connect_scroll(move |controller, dx, dy| {
[INFO] [stdout]     |                                                                          ^^ help: if this is intentional, prefix it with an underscore: `_dx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `middle_button_state`
[INFO] [stdout]    --> src/main.rs:799:25
[INFO] [stdout]     |
[INFO] [stdout] 799 |                     let middle_button_state = middle_button_pressed.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_middle_button_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `middle_button_state`
[INFO] [stdout]    --> src/main.rs:846:25
[INFO] [stdout]     |
[INFO] [stdout] 846 |                     let middle_button_state = middle_button_pressed.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_middle_button_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_meter_tx_clone2`
[INFO] [stdout]     --> src/main.rs:1571:25
[INFO] [stdout]      |
[INFO] [stdout] 1571 |                     let rc_meter_tx_clone2 = rc_meter_tx_clone.clone();
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_meter_tx_clone2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meter_tx_timeout_id`
[INFO] [stdout]     --> src/main.rs:1589:25
[INFO] [stdout]      |
[INFO] [stdout] 1589 |                     let meter_tx_timeout_id = timeout_add_local(Duration::from_millis(update_interval as u64), move || {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_meter_tx_timeout_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keepalive_timeout_id`
[INFO] [stdout]     --> src/main.rs:1605:29
[INFO] [stdout]      |
[INFO] [stdout] 1605 |                         let keepalive_timeout_id = timeout_add_local(Duration::from_millis(250), move || {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keepalive_timeout_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone2`
[INFO] [stdout]     --> src/main.rs:1661:25
[INFO] [stdout]      |
[INFO] [stdout] 1661 |                     let rc_app_widgets_clone2 = rc_app_widgets_clone.clone();
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `update_interval` is never read
[INFO] [stdout]     --> src/main.rs:1521:47
[INFO] [stdout]      |
[INFO] [stdout] 1521 |                     let mut update_interval = 100.0;
[INFO] [stdout]      |                                               ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `builder_clone`
[INFO] [stdout]    --> src/main.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let builder_clone = builder.clone();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_builder_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_meter`
[INFO] [stdout]     --> src/main.rs:1913:89
[INFO] [stdout]      |
[INFO] [stdout] 1913 | fn meter_tx_update(radio_mutex: &RadioMutex,  rc_app_widgets: &Rc<RefCell<AppWidgets>>, rc_meter: &Rc<RefCell<Meter>>) {
[INFO] [stdout]      |                                                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_meter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]     --> src/main.rs:1956:130
[INFO] [stdout]      |
[INFO] [stdout] 1956 | ...ize, x: f64, width: i32, button: u32) -> bool {
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `display_frequency_high`
[INFO] [stdout]     --> src/main.rs:1979:9
[INFO] [stdout]      |
[INFO] [stdout] 1979 |     let display_frequency_high = frequency_high + display_frequency_offset;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_frequency_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency_low`
[INFO] [stdout]     --> src/main.rs:2004:9
[INFO] [stdout]      |
[INFO] [stdout] 2004 |     let frequency_low = r.receiver[rx].frequency - (r.receiver[rx].sample_rate/2) as f64;
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency_high`
[INFO] [stdout]     --> src/main.rs:2005:9
[INFO] [stdout]      |
[INFO] [stdout] 2005 |     let frequency_high = r.receiver[rx].frequency + (r.receiver[rx].sample_rate/2) as f64;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `band`
[INFO] [stdout]     --> src/main.rs:2026:9
[INFO] [stdout]      |
[INFO] [stdout] 2026 |     let band = r.receiver[rx].band;
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_band`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `attenuation` is never read
[INFO] [stdout]     --> src/main.rs:2046:27
[INFO] [stdout]      |
[INFO] [stdout] 2046 |     let mut attenuation = r.receiver[rx].band_info[b].attenuation;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1633:29
[INFO] [stdout]      |
[INFO] [stdout] 1633 | ...                   cat_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[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] 1633 |                             let _ = cat_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[INFO] [stdout]      |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1652:33
[INFO] [stdout]      |
[INFO] [stdout] 1652 | ...                   cat_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[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] 1652 |                                 let _ = cat_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[INFO] [stdout]      |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1750:29
[INFO] [stdout]      |
[INFO] [stdout] 1750 | ...                   midi_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[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] 1750 |                             let _ = midi_clone_clone.run(&radio_mutex_clone, &tx_clone, stop_flag_clone);
[INFO] [stdout]      |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/main.rs:1769:33
[INFO] [stdout]      |
[INFO] [stdout] 1769 | ...                   midi_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[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] 1769 |                                 let _ = midi_clone_clone.run(&radio_mutex_clone_clone, &tx_clone_clone, stop_flag_clone);
[INFO] [stdout]      |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 29s
[INFO] running `Command { std: "docker" "inspect" "1262070f0174158d13065688ff901fc6ef618011267b295ce1b5f254db046b24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1262070f0174158d13065688ff901fc6ef618011267b295ce1b5f254db046b24", kill_on_drop: false }`
[INFO] [stdout] 1262070f0174158d13065688ff901fc6ef618011267b295ce1b5f254db046b24
