[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] 6e177163864f16b5db148c7d261ca53c26b5f984
[INFO] checking g0orx/rustyHPSDR against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fg0orx%2FrustyHPSDR" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/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-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/g0orx/rustyHPSDR on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc
[INFO] running `Command { std: "docker" "start" "9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", 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 version-compare v0.2.0
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling gio v0.20.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling cc v1.2.21
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling cfg-expr v0.17.2
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]    Compiling rustfft v6.3.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling cpal v0.16.0
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking unicode-ident v1.0.18
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ringbuf v0.4.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]     Checking transpose v0.2.3
[INFO] [stderr]     Checking primal-check v0.3.4
[INFO] [stderr]    Compiling network-interface v2.0.1
[INFO] [stderr]    Compiling rustyHPSDR v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_edit v0.22.26
[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 synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling glib-macros v0.20.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling gtk4-macros v0.9.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[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 pango-sys v0.20.9
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.7
[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]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling gtk4-sys v0.9.6
[INFO] [stderr]    Compiling pangocairo-sys v0.20.10
[INFO] [stderr]     Checking tokio v1.45.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking glib v0.20.9
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking ron v0.10.1
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[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: `tokio::select`
[INFO] [stdout]  --> src/tci/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::select;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::select`
[INFO] [stdout]  --> src/tci/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::select;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::discovery::device_name`
[INFO] [stdout]   --> src/tci/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::discovery::device_name;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::discovery::device_name`
[INFO] [stdout]   --> src/tci/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::discovery::device_name;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IQ_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     IQ_STREAM = 0,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `IqStream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IQ_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     IQ_STREAM = 0,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `IqStream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RX_AUDIO_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     RX_AUDIO_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RxAudioStream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RX_AUDIO_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     RX_AUDIO_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RxAudioStream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TX_AUDIO_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     TX_AUDIO_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TxAudioStream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TX_CHRONO` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     TX_CHRONO,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TxChrono`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LINEOUT_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     LINEOUT_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LineoutStream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame` and `Grid`
[INFO] [stdout]   --> src/widgets/mod.rs:18:82
[INFO] [stdout]    |
[INFO] [stdout] 18 | use gtk::{Adjustment, ApplicationWindow, Builder, Button, DrawingArea, DropDown, Frame, Grid, Label, ProgressBar, ToggleButton};
[INFO] [stdout]    |                                                                                  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bands::*`
[INFO] [stdout]   --> src/widgets/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::bands::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modes::*`
[INFO] [stdout]   --> src/widgets/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::modes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::filters::*`
[INFO] [stdout]   --> src/widgets/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::filters::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cell`
[INFO] [stdout]   --> src/vfo/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::cell::{Cell, RefCell};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Keyer` and `RadioModels`
[INFO] [stdout]   --> src/vfo/mod.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::radio::{Keyer, RadioModels, RadioMutex};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::receiver::*`
[INFO] [stdout]   --> src/vfo/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::receiver::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TX_AUDIO_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     TX_AUDIO_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TxAudioStream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TX_CHRONO` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     TX_CHRONO,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TxChrono`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LINEOUT_STREAM` should have an upper camel case name
[INFO] [stdout]   --> src/tci/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     LINEOUT_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LineoutStream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame` and `Grid`
[INFO] [stdout]   --> src/widgets/mod.rs:18:82
[INFO] [stdout]    |
[INFO] [stdout] 18 | use gtk::{Adjustment, ApplicationWindow, Builder, Button, DrawingArea, DropDown, Frame, Grid, Label, ProgressBar, ToggleButton};
[INFO] [stdout]    |                                                                                  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bands::*`
[INFO] [stdout]   --> src/widgets/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::bands::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modes::*`
[INFO] [stdout]   --> src/widgets/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::modes::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::filters::*`
[INFO] [stdout]   --> src/widgets/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::filters::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cell`
[INFO] [stdout]   --> src/vfo/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::cell::{Cell, RefCell};
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Keyer` and `RadioModels`
[INFO] [stdout]   --> src/vfo/mod.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::radio::{Keyer, RadioModels, RadioMutex};
[INFO] [stdout]    |                    ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::receiver::*`
[INFO] [stdout]   --> src/vfo/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::receiver::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/tci/mod.rs:268:25
[INFO] [stdout]     |
[INFO] [stdout] 268 |                         _ => {}
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tci/mod.rs:268:25
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         TCIDataMessage::IQData(data) => {
[INFO] [stdout]     |                         ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 231 |                         TCIDataMessage::AudioData(data) => {
[INFO] [stdout]     |                         ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 268 |                         _ => {}
[INFO] [stdout]     |                         ^ collectively making this unreachable
[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/tci/mod.rs:268:25
[INFO] [stdout]     |
[INFO] [stdout] 268 |                         _ => {}
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/tci/mod.rs:268:25
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         TCIDataMessage::IQData(data) => {
[INFO] [stdout]     |                         ---------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 231 |                         TCIDataMessage::AudioData(data) => {
[INFO] [stdout]     |                         ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 268 |                         _ => {}
[INFO] [stdout]     |                         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tci/mod.rs:330:17
[INFO] [stdout]     |
[INFO] [stdout] 330 |             let mut r = radio_mutex.radio.lock().unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/tci/mod.rs:330:17
[INFO] [stdout]     |
[INFO] [stdout] 330 |             let mut r = radio_mutex.radio.lock().unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/tci/mod.rs:359:21
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 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/tci/mod.rs:359:21
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 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 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 import: `std::io::Write`
[INFO] [stdout]  --> src/tci/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Write;
[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 import: `std::io::Write`
[INFO] [stdout]  --> src/tci/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/radio/mod.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let mut receivers: u8 = 2;
[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/radio/mod.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let mut receivers: u8 = 2;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/receiver/mod.rs:842:28
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 if let Err(e) = tx.try_send(msg) {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/receiver/mod.rs:847:28
[INFO] [stdout]     |
[INFO] [stdout] 847 |                 if let Err(e) = tx.try_send(msg) {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/receiver/mod.rs:842:28
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 if let Err(e) = tx.try_send(msg) {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/receiver/mod.rs:847:28
[INFO] [stdout]     |
[INFO] [stdout] 847 |                 if let Err(e) = tx.try_send(msg) {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m` is never read
[INFO] [stdout]    --> src/filters/mod.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         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:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         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:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         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:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         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: unused variable: `cw_pitch`
[INFO] [stdout]     --> src/configure/mod.rs:2724:9
[INFO] [stdout]      |
[INFO] [stdout] 2724 |     let cw_pitch = r.receiver[rx].cw_pitch;
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cw_pitch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone`
[INFO] [stdout]     --> src/configure/mod.rs:2827:9
[INFO] [stdout]      |
[INFO] [stdout] 2827 |     let rc_app_widgets_clone = rc_app_widgets.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone`
[INFO] [stdout]     --> src/configure/mod.rs:2932:9
[INFO] [stdout]      |
[INFO] [stdout] 2932 |     let rc_app_widgets_clone = rc_app_widgets.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone`
[INFO] [stdout]     --> src/configure/mod.rs:3036:9
[INFO] [stdout]      |
[INFO] [stdout] 3036 |     let rc_app_widgets_clone = rc_app_widgets.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cw_pitch`
[INFO] [stdout]     --> src/configure/mod.rs:2724:9
[INFO] [stdout]      |
[INFO] [stdout] 2724 |     let cw_pitch = r.receiver[rx].cw_pitch;
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cw_pitch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone`
[INFO] [stdout]     --> src/configure/mod.rs:2827:9
[INFO] [stdout]      |
[INFO] [stdout] 2827 |     let rc_app_widgets_clone = rc_app_widgets.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone`
[INFO] [stdout]     --> src/configure/mod.rs:2932:9
[INFO] [stdout]      |
[INFO] [stdout] 2932 |     let rc_app_widgets_clone = rc_app_widgets.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rc_app_widgets_clone`
[INFO] [stdout]     --> src/configure/mod.rs:3036:9
[INFO] [stdout]      |
[INFO] [stdout] 3036 |     let rc_app_widgets_clone = rc_app_widgets.clone();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc_app_widgets_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol1/mod.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut previous_sequence: u32 = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_sequence`
[INFO] [stdout]    --> src/protocol1/mod.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut previous_sequence: u32 = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]    --> src/protocol1/mod.rs:174:41
[INFO] [stdout]     |
[INFO] [stdout] 174 | ...                   let sequence = u32::from_be_bytes([buffer[4], buffer[5], buffer[6], buffer[7]]);
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol1/mod.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut previous_sequence: u32 = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_sequence`
[INFO] [stdout]    --> src/protocol1/mod.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mut previous_sequence: u32 = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sequence`
[INFO] [stdout]    --> src/protocol1/mod.rs:174:41
[INFO] [stdout]     |
[INFO] [stdout] 174 | ...                   let sequence = u32::from_be_bytes([buffer[4], buffer[5], buffer[6], buffer[7]]);
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sequence`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `process_rx_audio` is never read
[INFO] [stdout]    --> src/protocol1/mod.rs:588:13
[INFO] [stdout]     |
[INFO] [stdout] 588 |             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: value assigned to `process_rx_audio` is never read
[INFO] [stdout]    --> src/protocol1/mod.rs:588:13
[INFO] [stdout]     |
[INFO] [stdout] 588 |             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] 
[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: 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] 
[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: `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: `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: `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: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: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: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: 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: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: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: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: 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: 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: `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: variable does not need to be mutable
[INFO] [stdout]   --> src/rigctl/mod.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut writer_stream = stream.try_clone()?;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rigctl/mod.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         "get_vfo" | "v" | "V" => {
[INFO] [stdout]     |                           --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 164 |         "set_vfo" | "V" => {
[INFO] [stdout]     |                     ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/rigctl/mod.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut writer_stream = stream.try_clone()?;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/rigctl/mod.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 160 |         "get_vfo" | "v" | "V" => {
[INFO] [stdout]     |                           --- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 164 |         "set_vfo" | "V" => {
[INFO] [stdout]     |                     ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio`
[INFO] [stdout]    --> src/tci/mod.rs:422:11
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn get_if(radio: RadioMutex) -> String {
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_radio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio`
[INFO] [stdout]    --> src/tci/mod.rs:428:25
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn get_modulations_list(radio: RadioMutex) -> String {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_radio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/tci/mod.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |     let r = radio.radio.lock().unwrap();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/tci/mod.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |     let r = radio.radio.lock().unwrap();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio`
[INFO] [stdout]    --> src/tci/mod.rs:422:11
[INFO] [stdout]     |
[INFO] [stdout] 422 | fn get_if(radio: RadioMutex) -> String {
[INFO] [stdout]     |           ^^^^^ help: if this is intentional, prefix it with an underscore: `_radio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radio`
[INFO] [stdout]    --> src/tci/mod.rs:428:25
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn get_modulations_list(radio: RadioMutex) -> String {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_radio`
[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] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/tci/mod.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |     let r = radio.radio.lock().unwrap();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/tci/mod.rs:488:9
[INFO] [stdout]     |
[INFO] [stdout] 488 |     let r = radio.radio.lock().unwrap();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_r`
[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] 
[INFO] [stdout] warning: unused variable: `band_grid_clone`
[INFO] [stdout]   --> src/vfo/mod.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let band_grid_clone = band_grid.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_band_grid_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `band_grid_clone`
[INFO] [stdout]   --> src/vfo/mod.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let band_grid_clone = band_grid.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_band_grid_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_u32_with_separators` is never used
[INFO] [stdout]    --> src/radio/mod.rs:706:4
[INFO] [stdout]     |
[INFO] [stdout] 706 | 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:722:4
[INFO] [stdout]     |
[INFO] [stdout] 722 | 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:765:4
[INFO] [stdout]     |
[INFO] [stdout] 765 | 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:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const SUBRX_BASE_CHANNEL: i32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cw_pitch_spinbutton` is never read
[INFO] [stdout]   --> src/filters/mod.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct FilterGrid {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     cw_pitch_spinbutton: SpinButton,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FilterGrid` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[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:892:8
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl Protocol1 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 892 |     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: field `receivers` is never read
[INFO] [stdout]   --> src/protocol2/mod.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Protocol2 {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     receivers: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `f64_to_f32` is never used
[INFO] [stdout]    --> src/protocol2/mod.rs:834:8
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl Protocol2 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 834 |     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: variants `TX_AUDIO_STREAM`, `TX_CHRONO`, and `LINEOUT_STREAM` are never constructed
[INFO] [stdout]   --> src/tci/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | enum TCIStreamType {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     TX_AUDIO_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     TX_CHRONO,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 47 |     LINEOUT_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_u32_with_separators` is never used
[INFO] [stdout]    --> src/radio/mod.rs:706:4
[INFO] [stdout]     |
[INFO] [stdout] 706 | 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:722:4
[INFO] [stdout]     |
[INFO] [stdout] 722 | 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:765:4
[INFO] [stdout]     |
[INFO] [stdout] 765 | 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:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const SUBRX_BASE_CHANNEL: i32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cw_pitch_spinbutton` is never read
[INFO] [stdout]   --> src/filters/mod.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct FilterGrid {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     cw_pitch_spinbutton: SpinButton,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FilterGrid` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[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:892:8
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl Protocol1 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 892 |     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: field `receivers` is never read
[INFO] [stdout]   --> src/protocol2/mod.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Protocol2 {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     receivers: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `f64_to_f32` is never used
[INFO] [stdout]    --> src/protocol2/mod.rs:834:8
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl Protocol2 {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 834 |     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: variants `TX_AUDIO_STREAM`, `TX_CHRONO`, and `LINEOUT_STREAM` are never constructed
[INFO] [stdout]   --> src/tci/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | enum TCIStreamType {
[INFO] [stdout]    |      ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     TX_AUDIO_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     TX_CHRONO,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 47 |     LINEOUT_STREAM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:512:42
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 SetRXAShiftFreq(channel, offset.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 512 -                 SetRXAShiftFreq(channel, offset.into());
[INFO] [stdout] 512 +                 SetRXAShiftFreq(channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 512 -                 SetRXAShiftFreq(channel, offset.into());
[INFO] [stdout] 512 +                 SetRXAShiftFreq(channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:652:42
[INFO] [stdout]     |
[INFO] [stdout] 652 |             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, self.filter_low, self.filter_high.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, <f64 as Into<_>>::into(self.filter_low), self.filter_high.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:652:66
[INFO] [stdout]     |
[INFO] [stdout] 652 |             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, self.filter_low.into(), <f64 as Into<_>>::into(self.filter_high));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:669:47
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 669 -                 SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 669 +                 SetRXAShiftFreq(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 669 -                 SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 669 +                 SetRXAShiftFreq(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:670:55
[INFO] [stdout]     |
[INFO] [stdout] 670 |                 RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 670 -                 RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 670 +                 RXANBPSetShiftFrequency(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 670 -                 RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 670 +                 RXANBPSetShiftFrequency(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:675:54
[INFO] [stdout]     |
[INFO] [stdout] 675 |                 RXANBPSetTuneFrequency(self.channel, frequency.into());
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 675 -                 RXANBPSetTuneFrequency(self.channel, frequency.into());
[INFO] [stdout] 675 +                 RXANBPSetTuneFrequency(self.channel, frequency);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 675 -                 RXANBPSetTuneFrequency(self.channel, frequency.into());
[INFO] [stdout] 675 +                 RXANBPSetTuneFrequency(self.channel, <f64 as Into<_>>::into(frequency));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:683:43
[INFO] [stdout]     |
[INFO] [stdout] 683 |             SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 683 -             SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 683 +             SetRXAShiftFreq(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 683 -             SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 683 +             SetRXAShiftFreq(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:684:51
[INFO] [stdout]     |
[INFO] [stdout] 684 |             RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 684 -             RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 684 +             RXANBPSetShiftFrequency(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 684 -             RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 684 +             RXANBPSetShiftFrequency(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `StreamConfig`
[INFO] [stdout]   --> src/audio/mod.rs:85:47
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 85 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 85 +         let mut stream_config: StreamConfig = config.clone();
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 85 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 85 +         let mut stream_config: StreamConfig = <StreamConfig as Into<_>>::into(config.clone());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `StreamConfig`
[INFO] [stdout]    --> src/audio/mod.rs:136:47
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 136 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 136 +         let mut stream_config: StreamConfig = config.clone();
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 136 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 136 +         let mut stream_config: StreamConfig = <StreamConfig as Into<_>>::into(config.clone());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]   --> src/spectrum/mod.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |             cr.rectangle(filter_left.into(), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 94 -             cr.rectangle(filter_left.into(), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout] 94 +             cr.rectangle(filter_left, 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 94 -             cr.rectangle(filter_left.into(), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout] 94 +             cr.rectangle(<f64 as Into<_>>::into(filter_left), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 cr.move_to( x.into(), 0.0);
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 171 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 171 +                 cr.move_to( x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 171 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 171 +                 cr.move_to( <f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:172:29
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 172 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 172 +                 cr.line_to( x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 172 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 172 +                 cr.line_to( <f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:177:29
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 cr.move_to( x.into(), 0.0);
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 177 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 177 +                 cr.move_to( x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 177 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 177 +                 cr.move_to( <f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:178:29
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 178 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 178 +                 cr.line_to( x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 178 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 178 +                 cr.line_to( <f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(filter_left, 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(<f64 as Into<_>>::into(filter_left), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:209:55
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(filter_left.into(), 0.0, <f64 as Into<_>>::into((filter_right-filter_left)), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 cr.move_to( x.into(), 0.0);
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 254 +                 cr.move_to( x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 254 +                 cr.move_to( <f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:255:29
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 255 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 255 +                 cr.line_to( x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 255 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 255 +                 cr.line_to( <f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 cr.move_to(x.into(), 0.0);
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 cr.move_to(x.into(), 0.0);
[INFO] [stdout] 285 +                 cr.move_to(x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 cr.move_to(x.into(), 0.0);
[INFO] [stdout] 285 +                 cr.move_to(<f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:286:28
[INFO] [stdout]     |
[INFO] [stdout] 286 |                 cr.line_to(x.into(), spectrum_height.into());
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 286 -                 cr.line_to(x.into(), spectrum_height.into());
[INFO] [stdout] 286 +                 cr.line_to(x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 286 -                 cr.line_to(x.into(), spectrum_height.into());
[INFO] [stdout] 286 +                 cr.line_to(<f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:126:47
[INFO] [stdout]     |
[INFO] [stdout] 126 |     ws_sender.send(Message::Text(get_protocol(radio.clone().into()))).await?;
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 126 -     ws_sender.send(Message::Text(get_protocol(radio.clone().into()))).await?;
[INFO] [stdout] 126 +     ws_sender.send(Message::Text(get_protocol(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 126 -     ws_sender.send(Message::Text(get_protocol(radio.clone().into()))).await?;
[INFO] [stdout] 126 +     ws_sender.send(Message::Text(get_protocol(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:127:45
[INFO] [stdout]     |
[INFO] [stdout] 127 |     ws_sender.send(Message::Text(get_device(radio.clone().into()))).await?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 127 -     ws_sender.send(Message::Text(get_device(radio.clone().into()))).await?;
[INFO] [stdout] 127 +     ws_sender.send(Message::Text(get_device(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 127 -     ws_sender.send(Message::Text(get_device(radio.clone().into()))).await?;
[INFO] [stdout] 127 +     ws_sender.send(Message::Text(get_device(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:129:48
[INFO] [stdout]     |
[INFO] [stdout] 129 |     ws_sender.send(Message::Text(get_trx_count(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 129 -     ws_sender.send(Message::Text(get_trx_count(radio.clone().into()))).await?;
[INFO] [stdout] 129 +     ws_sender.send(Message::Text(get_trx_count(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 129 -     ws_sender.send(Message::Text(get_trx_count(radio.clone().into()))).await?;
[INFO] [stdout] 129 +     ws_sender.send(Message::Text(get_trx_count(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:130:52
[INFO] [stdout]     |
[INFO] [stdout] 130 |     ws_sender.send(Message::Text(get_channel_count(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 130 -     ws_sender.send(Message::Text(get_channel_count(radio.clone().into()))).await?;
[INFO] [stdout] 130 +     ws_sender.send(Message::Text(get_channel_count(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 130 -     ws_sender.send(Message::Text(get_channel_count(radio.clone().into()))).await?;
[INFO] [stdout] 130 +     ws_sender.send(Message::Text(get_channel_count(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:131:49
[INFO] [stdout]     |
[INFO] [stdout] 131 |     ws_sender.send(Message::Text(get_vfo_limits(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 131 -     ws_sender.send(Message::Text(get_vfo_limits(radio.clone().into()))).await?;
[INFO] [stdout] 131 +     ws_sender.send(Message::Text(get_vfo_limits(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 131 -     ws_sender.send(Message::Text(get_vfo_limits(radio.clone().into()))).await?;
[INFO] [stdout] 131 +     ws_sender.send(Message::Text(get_vfo_limits(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:132:48
[INFO] [stdout]     |
[INFO] [stdout] 132 |     ws_sender.send(Message::Text(get_if_limits(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 132 -     ws_sender.send(Message::Text(get_if_limits(radio.clone().into()))).await?;
[INFO] [stdout] 132 +     ws_sender.send(Message::Text(get_if_limits(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 132 -     ws_sender.send(Message::Text(get_if_limits(radio.clone().into()))).await?;
[INFO] [stdout] 132 +     ws_sender.send(Message::Text(get_if_limits(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:133:55
[INFO] [stdout]     |
[INFO] [stdout] 133 |     ws_sender.send(Message::Text(get_modulations_list(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 133 -     ws_sender.send(Message::Text(get_modulations_list(radio.clone().into()))).await?;
[INFO] [stdout] 133 +     ws_sender.send(Message::Text(get_modulations_list(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 133 -     ws_sender.send(Message::Text(get_modulations_list(radio.clone().into()))).await?;
[INFO] [stdout] 133 +     ws_sender.send(Message::Text(get_modulations_list(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:135:42
[INFO] [stdout]     |
[INFO] [stdout] 135 |     ws_sender.send(Message::Text(get_dds(radio.clone().into()))).await?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 135 -     ws_sender.send(Message::Text(get_dds(radio.clone().into()))).await?;
[INFO] [stdout] 135 +     ws_sender.send(Message::Text(get_dds(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 135 -     ws_sender.send(Message::Text(get_dds(radio.clone().into()))).await?;
[INFO] [stdout] 135 +     ws_sender.send(Message::Text(get_dds(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:136:41
[INFO] [stdout]     |
[INFO] [stdout] 136 |     ws_sender.send(Message::Text(get_if(radio.clone().into()))).await?;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 136 -     ws_sender.send(Message::Text(get_if(radio.clone().into()))).await?;
[INFO] [stdout] 136 +     ws_sender.send(Message::Text(get_if(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 136 -     ws_sender.send(Message::Text(get_if(radio.clone().into()))).await?;
[INFO] [stdout] 136 +     ws_sender.send(Message::Text(get_if(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:138:42
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ws_sender.send(Message::Text(get_vfo(radio.clone().into()))).await?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 138 -     ws_sender.send(Message::Text(get_vfo(radio.clone().into()))).await?;
[INFO] [stdout] 138 +     ws_sender.send(Message::Text(get_vfo(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 138 -     ws_sender.send(Message::Text(get_vfo(radio.clone().into()))).await?;
[INFO] [stdout] 138 +     ws_sender.send(Message::Text(get_vfo(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:139:43
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ws_sender.send(Message::Text(get_mode(radio.clone().into()))).await?;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 139 -     ws_sender.send(Message::Text(get_mode(radio.clone().into()))).await?;
[INFO] [stdout] 139 +     ws_sender.send(Message::Text(get_mode(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 139 -     ws_sender.send(Message::Text(get_mode(radio.clone().into()))).await?;
[INFO] [stdout] 139 +     ws_sender.send(Message::Text(get_mode(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:140:50
[INFO] [stdout]     |
[INFO] [stdout] 140 |     ws_sender.send(Message::Text(get_filter_band(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 140 -     ws_sender.send(Message::Text(get_filter_band(radio.clone().into()))).await?;
[INFO] [stdout] 140 +     ws_sender.send(Message::Text(get_filter_band(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 140 -     ws_sender.send(Message::Text(get_filter_band(radio.clone().into()))).await?;
[INFO] [stdout] 140 +     ws_sender.send(Message::Text(get_filter_band(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:141:43
[INFO] [stdout]     |
[INFO] [stdout] 141 |     ws_sender.send(Message::Text(get_ctun(radio.clone().into()))).await?;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 141 -     ws_sender.send(Message::Text(get_ctun(radio.clone().into()))).await?;
[INFO] [stdout] 141 +     ws_sender.send(Message::Text(get_ctun(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 141 -     ws_sender.send(Message::Text(get_ctun(radio.clone().into()))).await?;
[INFO] [stdout] 141 +     ws_sender.send(Message::Text(get_ctun(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:512:42
[INFO] [stdout]     |
[INFO] [stdout] 512 |                 SetRXAShiftFreq(channel, offset.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 512 -                 SetRXAShiftFreq(channel, offset.into());
[INFO] [stdout] 512 +                 SetRXAShiftFreq(channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 512 -                 SetRXAShiftFreq(channel, offset.into());
[INFO] [stdout] 512 +                 SetRXAShiftFreq(channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:652:42
[INFO] [stdout]     |
[INFO] [stdout] 652 |             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, self.filter_low, self.filter_high.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, <f64 as Into<_>>::into(self.filter_low), self.filter_high.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:652:66
[INFO] [stdout]     |
[INFO] [stdout] 652 |             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 652 -             RXASetPassband(self.channel, self.filter_low.into(), self.filter_high.into());
[INFO] [stdout] 652 +             RXASetPassband(self.channel, self.filter_low.into(), <f64 as Into<_>>::into(self.filter_high));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:669:47
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 669 -                 SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 669 +                 SetRXAShiftFreq(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 669 -                 SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 669 +                 SetRXAShiftFreq(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:670:55
[INFO] [stdout]     |
[INFO] [stdout] 670 |                 RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 670 -                 RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 670 +                 RXANBPSetShiftFrequency(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 670 -                 RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 670 +                 RXANBPSetShiftFrequency(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:675:54
[INFO] [stdout]     |
[INFO] [stdout] 675 |                 RXANBPSetTuneFrequency(self.channel, frequency.into());
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 675 -                 RXANBPSetTuneFrequency(self.channel, frequency.into());
[INFO] [stdout] 675 +                 RXANBPSetTuneFrequency(self.channel, frequency);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 675 -                 RXANBPSetTuneFrequency(self.channel, frequency.into());
[INFO] [stdout] 675 +                 RXANBPSetTuneFrequency(self.channel, <f64 as Into<_>>::into(frequency));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:683:43
[INFO] [stdout]     |
[INFO] [stdout] 683 |             SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 683 -             SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 683 +             SetRXAShiftFreq(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 683 -             SetRXAShiftFreq(self.channel, offset.into());
[INFO] [stdout] 683 +             SetRXAShiftFreq(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/receiver/mod.rs:684:51
[INFO] [stdout]     |
[INFO] [stdout] 684 |             RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 684 -             RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 684 +             RXANBPSetShiftFrequency(self.channel, offset);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 684 -             RXANBPSetShiftFrequency(self.channel, offset.into());
[INFO] [stdout] 684 +             RXANBPSetShiftFrequency(self.channel, <f64 as Into<_>>::into(offset));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/tci/mod.rs:165:66
[INFO] [stdout]     |
[INFO] [stdout] 165 | ...                   ws_sender.send(Message::Text(response.into())).await?;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 165 -                                     ws_sender.send(Message::Text(response.into())).await?;
[INFO] [stdout] 165 +                                     ws_sender.send(Message::Text(response)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 165 -                                     ws_sender.send(Message::Text(response.into())).await?;
[INFO] [stdout] 165 +                                     ws_sender.send(Message::Text(<std::string::String as Into<_>>::into(response))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `StreamConfig`
[INFO] [stdout]   --> src/audio/mod.rs:85:47
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 85 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 85 +         let mut stream_config: StreamConfig = config.clone();
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 85 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 85 +         let mut stream_config: StreamConfig = <StreamConfig as Into<_>>::into(config.clone());
[INFO] [stdout]    |
[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] error: useless conversion to the same type: `StreamConfig`
[INFO] [stdout]    --> src/audio/mod.rs:136:47
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 136 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 136 +         let mut stream_config: StreamConfig = config.clone();
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 136 -         let mut stream_config: StreamConfig = config.clone().into();
[INFO] [stdout] 136 +         let mut stream_config: StreamConfig = <StreamConfig as Into<_>>::into(config.clone());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]   --> src/spectrum/mod.rs:94:26
[INFO] [stdout]    |
[INFO] [stdout] 94 |             cr.rectangle(filter_left.into(), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]    |
[INFO] [stdout] 94 -             cr.rectangle(filter_left.into(), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout] 94 +             cr.rectangle(filter_left, 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout]    |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]    |
[INFO] [stdout] 94 -             cr.rectangle(filter_left.into(), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout] 94 +             cr.rectangle(<f64 as Into<_>>::into(filter_left), 0.0, filter_right-filter_left, spectrum_height.into());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 cr.move_to( x.into(), 0.0);
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 171 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 171 +                 cr.move_to( x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 171 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 171 +                 cr.move_to( <f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:172:29
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 172 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 172 +                 cr.line_to( x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 172 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 172 +                 cr.line_to( <f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:177:29
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 cr.move_to( x.into(), 0.0);
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 177 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 177 +                 cr.move_to( x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 177 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 177 +                 cr.move_to( <f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:178:29
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 178 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 178 +                 cr.line_to( x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 178 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 178 +                 cr.line_to( <f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(filter_left, 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(<f64 as Into<_>>::into(filter_left), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:209:55
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 209 -                 cr.rectangle(filter_left.into(), 0.0, (filter_right-filter_left).into(), spectrum_height.into());
[INFO] [stdout] 209 +                 cr.rectangle(filter_left.into(), 0.0, <f64 as Into<_>>::into((filter_right-filter_left)), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:254:29
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 cr.move_to( x.into(), 0.0);
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 254 +                 cr.move_to( x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 254 -                 cr.move_to( x.into(), 0.0);
[INFO] [stdout] 254 +                 cr.move_to( <f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:255:29
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout]     |                             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 255 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 255 +                 cr.line_to( x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 255 -                 cr.line_to( x.into(), spectrum_height.into());
[INFO] [stdout] 255 +                 cr.line_to( <f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 cr.move_to(x.into(), 0.0);
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 cr.move_to(x.into(), 0.0);
[INFO] [stdout] 285 +                 cr.move_to(x, 0.0);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 285 -                 cr.move_to(x.into(), 0.0);
[INFO] [stdout] 285 +                 cr.move_to(<f64 as Into<_>>::into(x), 0.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `f64`
[INFO] [stdout]    --> src/spectrum/mod.rs:286:28
[INFO] [stdout]     |
[INFO] [stdout] 286 |                 cr.line_to(x.into(), spectrum_height.into());
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 286 -                 cr.line_to(x.into(), spectrum_height.into());
[INFO] [stdout] 286 +                 cr.line_to(x, spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 286 -                 cr.line_to(x.into(), spectrum_height.into());
[INFO] [stdout] 286 +                 cr.line_to(<f64 as Into<_>>::into(x), spectrum_height.into());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:126:47
[INFO] [stdout]     |
[INFO] [stdout] 126 |     ws_sender.send(Message::Text(get_protocol(radio.clone().into()))).await?;
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 126 -     ws_sender.send(Message::Text(get_protocol(radio.clone().into()))).await?;
[INFO] [stdout] 126 +     ws_sender.send(Message::Text(get_protocol(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 126 -     ws_sender.send(Message::Text(get_protocol(radio.clone().into()))).await?;
[INFO] [stdout] 126 +     ws_sender.send(Message::Text(get_protocol(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:127:45
[INFO] [stdout]     |
[INFO] [stdout] 127 |     ws_sender.send(Message::Text(get_device(radio.clone().into()))).await?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 127 -     ws_sender.send(Message::Text(get_device(radio.clone().into()))).await?;
[INFO] [stdout] 127 +     ws_sender.send(Message::Text(get_device(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 127 -     ws_sender.send(Message::Text(get_device(radio.clone().into()))).await?;
[INFO] [stdout] 127 +     ws_sender.send(Message::Text(get_device(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:129:48
[INFO] [stdout]     |
[INFO] [stdout] 129 |     ws_sender.send(Message::Text(get_trx_count(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 129 -     ws_sender.send(Message::Text(get_trx_count(radio.clone().into()))).await?;
[INFO] [stdout] 129 +     ws_sender.send(Message::Text(get_trx_count(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 129 -     ws_sender.send(Message::Text(get_trx_count(radio.clone().into()))).await?;
[INFO] [stdout] 129 +     ws_sender.send(Message::Text(get_trx_count(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:130:52
[INFO] [stdout]     |
[INFO] [stdout] 130 |     ws_sender.send(Message::Text(get_channel_count(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 130 -     ws_sender.send(Message::Text(get_channel_count(radio.clone().into()))).await?;
[INFO] [stdout] 130 +     ws_sender.send(Message::Text(get_channel_count(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 130 -     ws_sender.send(Message::Text(get_channel_count(radio.clone().into()))).await?;
[INFO] [stdout] 130 +     ws_sender.send(Message::Text(get_channel_count(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/radio/mod.rs:629:21
[INFO] [stdout]     |
[INFO] [stdout] 629 |                     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] 629 |                     let _ = file.read_to_string(&mut s);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:131:49
[INFO] [stdout]     |
[INFO] [stdout] 131 |     ws_sender.send(Message::Text(get_vfo_limits(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 131 -     ws_sender.send(Message::Text(get_vfo_limits(radio.clone().into()))).await?;
[INFO] [stdout] 131 +     ws_sender.send(Message::Text(get_vfo_limits(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 131 -     ws_sender.send(Message::Text(get_vfo_limits(radio.clone().into()))).await?;
[INFO] [stdout] 131 +     ws_sender.send(Message::Text(get_vfo_limits(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:132:48
[INFO] [stdout]     |
[INFO] [stdout] 132 |     ws_sender.send(Message::Text(get_if_limits(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 132 -     ws_sender.send(Message::Text(get_if_limits(radio.clone().into()))).await?;
[INFO] [stdout] 132 +     ws_sender.send(Message::Text(get_if_limits(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 132 -     ws_sender.send(Message::Text(get_if_limits(radio.clone().into()))).await?;
[INFO] [stdout] 132 +     ws_sender.send(Message::Text(get_if_limits(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:133:55
[INFO] [stdout]     |
[INFO] [stdout] 133 |     ws_sender.send(Message::Text(get_modulations_list(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 133 -     ws_sender.send(Message::Text(get_modulations_list(radio.clone().into()))).await?;
[INFO] [stdout] 133 +     ws_sender.send(Message::Text(get_modulations_list(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 133 -     ws_sender.send(Message::Text(get_modulations_list(radio.clone().into()))).await?;
[INFO] [stdout] 133 +     ws_sender.send(Message::Text(get_modulations_list(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:135:42
[INFO] [stdout]     |
[INFO] [stdout] 135 |     ws_sender.send(Message::Text(get_dds(radio.clone().into()))).await?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 135 -     ws_sender.send(Message::Text(get_dds(radio.clone().into()))).await?;
[INFO] [stdout] 135 +     ws_sender.send(Message::Text(get_dds(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 135 -     ws_sender.send(Message::Text(get_dds(radio.clone().into()))).await?;
[INFO] [stdout] 135 +     ws_sender.send(Message::Text(get_dds(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:136:41
[INFO] [stdout]     |
[INFO] [stdout] 136 |     ws_sender.send(Message::Text(get_if(radio.clone().into()))).await?;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 136 -     ws_sender.send(Message::Text(get_if(radio.clone().into()))).await?;
[INFO] [stdout] 136 +     ws_sender.send(Message::Text(get_if(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 136 -     ws_sender.send(Message::Text(get_if(radio.clone().into()))).await?;
[INFO] [stdout] 136 +     ws_sender.send(Message::Text(get_if(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:138:42
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ws_sender.send(Message::Text(get_vfo(radio.clone().into()))).await?;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 138 -     ws_sender.send(Message::Text(get_vfo(radio.clone().into()))).await?;
[INFO] [stdout] 138 +     ws_sender.send(Message::Text(get_vfo(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 138 -     ws_sender.send(Message::Text(get_vfo(radio.clone().into()))).await?;
[INFO] [stdout] 138 +     ws_sender.send(Message::Text(get_vfo(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:139:43
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ws_sender.send(Message::Text(get_mode(radio.clone().into()))).await?;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 139 -     ws_sender.send(Message::Text(get_mode(radio.clone().into()))).await?;
[INFO] [stdout] 139 +     ws_sender.send(Message::Text(get_mode(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 139 -     ws_sender.send(Message::Text(get_mode(radio.clone().into()))).await?;
[INFO] [stdout] 139 +     ws_sender.send(Message::Text(get_mode(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:140:50
[INFO] [stdout]     |
[INFO] [stdout] 140 |     ws_sender.send(Message::Text(get_filter_band(radio.clone().into()))).await?;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 140 -     ws_sender.send(Message::Text(get_filter_band(radio.clone().into()))).await?;
[INFO] [stdout] 140 +     ws_sender.send(Message::Text(get_filter_band(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 140 -     ws_sender.send(Message::Text(get_filter_band(radio.clone().into()))).await?;
[INFO] [stdout] 140 +     ws_sender.send(Message::Text(get_filter_band(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `RadioMutex`
[INFO] [stdout]    --> src/tci/mod.rs:141:43
[INFO] [stdout]     |
[INFO] [stdout] 141 |     ws_sender.send(Message::Text(get_ctun(radio.clone().into()))).await?;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 141 -     ws_sender.send(Message::Text(get_ctun(radio.clone().into()))).await?;
[INFO] [stdout] 141 +     ws_sender.send(Message::Text(get_ctun(radio.clone()))).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 141 -     ws_sender.send(Message::Text(get_ctun(radio.clone().into()))).await?;
[INFO] [stdout] 141 +     ws_sender.send(Message::Text(get_ctun(<RadioMutex as Into<_>>::into(radio.clone())))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_Nrvals` should have a snake case name
[INFO] [stdout]    --> src/receiver/mod.rs:520:12
[INFO] [stdout]     |
[INFO] [stdout] 520 |     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:526:12
[INFO] [stdout]     |
[INFO] [stdout] 526 |     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:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     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:606:13
[INFO] [stdout]     |
[INFO] [stdout] 606 |         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:607:13
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let fscHin = 0.0;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `fsc_hin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `std::string::String`
[INFO] [stdout]    --> src/tci/mod.rs:165:66
[INFO] [stdout]     |
[INFO] [stdout] 165 | ...                   ws_sender.send(Message::Text(response.into())).await?;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 165 -                                     ws_sender.send(Message::Text(response.into())).await?;
[INFO] [stdout] 165 +                                     ws_sender.send(Message::Text(response)).await?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 165 -                                     ws_sender.send(Message::Text(response.into())).await?;
[INFO] [stdout] 165 +                                     ws_sender.send(Message::Text(<std::string::String as Into<_>>::into(response))).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `filterLSB` should have an upper case name
[INFO] [stdout]   --> src/filters/mod.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |         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:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 |         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:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |         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:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |         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:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 |         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:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         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:182:15
[INFO] [stdout]     |
[INFO] [stdout] 182 |         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:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |         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:212:15
[INFO] [stdout]     |
[INFO] [stdout] 212 |         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:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |         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:242:15
[INFO] [stdout]     |
[INFO] [stdout] 242 |         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:257:15
[INFO] [stdout]     |
[INFO] [stdout] 257 |         const filterDRM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DRM`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/radio/mod.rs:629:21
[INFO] [stdout]     |
[INFO] [stdout] 629 |                     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] 629 |                     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:520:12
[INFO] [stdout]     |
[INFO] [stdout] 520 |     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:526:12
[INFO] [stdout]     |
[INFO] [stdout] 526 |     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:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     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:606:13
[INFO] [stdout]     |
[INFO] [stdout] 606 |         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:607:13
[INFO] [stdout]     |
[INFO] [stdout] 607 |         let fscHin = 0.0;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `fsc_hin`
[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: associated constant `filterLSB` should have an upper case name
[INFO] [stdout]   --> src/filters/mod.rs:92:15
[INFO] [stdout]    |
[INFO] [stdout] 92 |         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:107:15
[INFO] [stdout]     |
[INFO] [stdout] 107 |         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:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |         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:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |         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:152:15
[INFO] [stdout]     |
[INFO] [stdout] 152 |         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:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |         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:182:15
[INFO] [stdout]     |
[INFO] [stdout] 182 |         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:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |         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:212:15
[INFO] [stdout]     |
[INFO] [stdout] 212 |         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:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |         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:242:15
[INFO] [stdout]     |
[INFO] [stdout] 242 |         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:257:15
[INFO] [stdout]     |
[INFO] [stdout] 257 |         const filterDRM: [Filter; 12] = [
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `FILTER_DRM`
[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: 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] [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] [stderr] error: could not compile `rustyHPSDR` (lib) due to 35 previous errors; 163 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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] [stderr] error: could not compile `rustyHPSDR` (lib test) due to 35 previous errors; 162 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc", kill_on_drop: false }`
[INFO] [stdout] 9d740451b67b229340b49a115b15fc3360f6570057335d52ba4d2bcd807c92fc
