[INFO] cloning repository https://github.com/survon/runtime-base-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/survon/runtime-base-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsurvon%2Fruntime-base-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsurvon%2Fruntime-base-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e5d8d933a603a9cce3002dbfce2bc8574c10c1fe
[INFO] testing survon/runtime-base-rust against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsurvon%2Fruntime-base-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/survon/runtime-base-rust
[INFO] finished tweaking git repo https://github.com/survon/runtime-base-rust
[INFO] tweaked toml for git repo https://github.com/survon/runtime-base-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/survon/runtime-base-rust on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/survon/runtime-base-rust 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a5ff3b622faa361ef84eeffbd9a3c091d37bbd05e6c11f59b9f71b49261d7523
[INFO] running `Command { std: "docker" "start" "-a" "a5ff3b622faa361ef84eeffbd9a3c091d37bbd05e6c11f59b9f71b49261d7523", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a5ff3b622faa361ef84eeffbd9a3c091d37bbd05e6c11f59b9f71b49261d7523", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5ff3b622faa361ef84eeffbd9a3c091d37bbd05e6c11f59b9f71b49261d7523", kill_on_drop: false }`
[INFO] [stdout] a5ff3b622faa361ef84eeffbd9a3c091d37bbd05e6c11f59b9f71b49261d7523
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3956b2d8f2116376279f1e946a942c61f7d8b150bdd28bce4375895e2df42d13
[INFO] running `Command { std: "docker" "start" "-a" "3956b2d8f2116376279f1e946a942c61f7d8b150bdd28bce4375895e2df42d13", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling find-msvc-tools v0.1.1
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_core v1.0.221
[INFO] [stderr]    Compiling serde v1.0.221
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling cc v1.2.37
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling indexmap v2.11.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling libdbus-sys v0.2.6
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling serde_derive v1.0.221
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling equator v0.4.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling aligned-vec v0.6.4
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling built v0.7.7
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling bindgen v0.69.5
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling v_frame v0.3.9
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling link-cplusplus v1.0.12
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling av1-grain v0.2.4
[INFO] [stderr]    Compiling dbus v0.9.9
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling rstest_macros v0.23.0
[INFO] [stderr]    Compiling fax v0.2.6
[INFO] [stderr]    Compiling profiling v1.0.17
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling symphonia-core v0.5.5
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling imgref v1.11.0
[INFO] [stderr]    Compiling owo-colors v4.2.2
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling bitstream-io v2.6.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling zune-jpeg v0.4.21
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling unescaper v0.1.6
[INFO] [stderr]    Compiling datasize_derive v0.2.15
[INFO] [stderr]    Compiling llama_cpp_sys v0.3.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling avif-serialize v0.8.6
[INFO] [stderr]    Compiling pxfm v0.1.23
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling serde_json v1.0.144
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling xml v1.2.0
[INFO] [stderr]    Compiling pom v1.1.0
[INFO] [stderr]    Compiling lebe v0.5.3
[INFO] [stderr]    Compiling rgb v0.8.52
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling time v0.3.43
[INFO] [stderr]    Compiling serialport v4.8.1
[INFO] [stderr]    Compiling serde-xml-rs v0.8.2
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling moxcms v0.7.5
[INFO] [stderr]    Compiling addr2line v0.24.2
[INFO] [stderr]    Compiling ravif v0.11.20
[INFO] [stderr]    Compiling snafu-derive v0.7.5
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling gif v0.13.3
[INFO] [stderr]    Compiling image-webp v0.2.4
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling png v0.18.0
[INFO] [stderr]    Compiling datasize v0.2.15
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]    Compiling tiff v0.10.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling dbus-tokio v0.7.6
[INFO] [stderr]    Compiling bluez-generated v0.4.0
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling tuple v0.5.2
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling compact_str v0.7.1
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling iri-string v0.7.9
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling rangemap v1.6.0
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling lopdf v0.34.0
[INFO] [stderr]    Compiling rstest v0.23.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling globalcache v0.2.4
[INFO] [stderr]    Compiling base64-simd v0.8.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling bluez-async v0.8.2
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling rustls-pki-types v1.13.1
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling ratatui v0.26.3
[INFO] [stderr]    Compiling image v0.25.8
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling symphonia v0.5.5
[INFO] [stderr]    Compiling snafu v0.7.5
[INFO] [stderr]    Compiling mio-serial v5.0.6
[INFO] [stderr]    Compiling istring v0.3.4
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling type1-encoding-parser v0.1.0
[INFO] [stderr]    Compiling adobe-cmap-parser v0.4.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling pdf_derive v0.1.22
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling euclid v0.20.14
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling postscript v0.14.1
[INFO] [stderr]    Compiling icy_sixel v0.1.3
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling runtime-base-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling rodio v0.17.3
[INFO] [stderr]    Compiling pdf v0.8.1
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling pdf-extract v0.7.12
[INFO] [stderr]    Compiling ratatui-image v8.0.2
[INFO] [stderr]    Compiling reqwest v0.12.25
[INFO] [stderr]    Compiling btleplug v0.11.8
[INFO] [stderr]    Compiling gag v1.0.0
[INFO] [stderr]    Compiling throbber-widgets-tui v0.5.0
[INFO] [stderr]    Compiling tokio-serial v5.4.5
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling tui-scrollview v0.5.1
[INFO] [stderr]    Compiling llama_cpp v0.3.2
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/app.rs:2:43
[INFO] [stdout]   |
[INFO] [stdout] 2 |     crossterm::event::{KeyCode, KeyEvent, KeyModifiers},
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/app.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gag::Gag`
[INFO] [stdout]  --> src/app.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gag::Gag;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/app.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `layout::Rect`
[INFO] [stdout]   --> src/app.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ratatui::{layout::Rect, Frame};
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueuedCommand`
[INFO] [stdout]   --> src/app.rs:17:42
[INFO] [stdout]    |
[INFO] [stdout] 17 |         ble_scheduler::{CommandPriority, QueuedCommand},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Module`
[INFO] [stdout]   --> src/app.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `database::ChatMessage` and `handler::LlmHandler`
[INFO] [stdout]   --> src/app.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 | use crate::module::strategies::llm::{database::ChatMessage, handler::LlmHandler};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]    --> src/app.rs:440:13
[INFO] [stdout]     |
[INFO] [stdout] 440 |         use std::fs::OpenOptions;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/app.rs:558:17
[INFO] [stdout]     |
[INFO] [stdout] 558 |                 /// TODO something someday.
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 559 |                 Ok(true)
[INFO] [stdout]     |                 -------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]  --> src/ui/document/manager/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/ui/template/mod.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | /// GLOBAL REGISTRY - Register all your templates here
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     widgets::{Widget},
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::ui::template::UiTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ListItem`
[INFO] [stdout]  --> src/ui/template/module_templates/control/toggle_switch_card.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Block, Borders, ListItem, Paragraph, Widget};
[INFO] [stdout]   |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::owo_colors::OwoColorize`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use color_eyre::owo_colors::OwoColorize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widgets::Widget`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     widgets::Widget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ui::template::UiTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/mod.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     widgets::{Widget},
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ui::template::UiTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BorderType`
[INFO] [stdout]  --> src/ui/screens/splash/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets::{Block, BorderType, Paragraph, Widget},
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OverviewFocus`
[INFO] [stdout]  --> src/ui/screens/council/mod.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::app::{App, OverviewFocus};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::ModuleManagerView`
[INFO] [stdout]  --> src/ui/screens/council/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::module::ModuleManagerView;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/ui/style.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/ui/widgets/jukebox/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::BaseModuleConfig`
[INFO] [stdout]  --> src/ui/widgets/jukebox/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::module::BaseModuleConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment` and `Paragraph`
[INFO] [stdout]  --> src/ui/widgets/module_detail/widget.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 5 |     style::{Color, Stylize},
[INFO] [stdout] 6 |     widgets::{Block, BorderType, Paragraph, Widget},
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/module/strategies/llm/handler/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `module::trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/llm/handler/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     module::trait_module_handler::ModuleHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]   --> src/module/strategies/llm/database/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rusqlite::{params, Result};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_debug`
[INFO] [stdout]   --> src/module/strategies/llm/database/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::log_debug;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `prelude::*` and `widgets::*`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     prelude::*,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     widgets::*,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::params`
[INFO] [stdout]  --> src/module/strategies/overseer/database/trait_overseer_database.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusqlite::params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_info`
[INFO] [stdout]  --> src/module/strategies/overseer/database/trait_overseer_database.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::log_info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `params`
[INFO] [stdout]   --> src/module/strategies/overseer/database/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rusqlite::{params, Result};
[INFO] [stdout]    |                ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_info`
[INFO] [stdout]   --> src/module/strategies/overseer/database/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::log_info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::database::Database`
[INFO] [stdout]   --> src/module/strategies/overseer/database/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::util::database::Database;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::Result`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use color_eyre::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `buffer::Buffer`, `crossterm::event::KeyCode`, and `prelude::*`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     crossterm::event::KeyCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     prelude::*,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `any::Any`, and `fs`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     any::Any,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 40 |     fs,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 41 |     path::{Path, PathBuf},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `log_debug`, `log_error`, and `log_info`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::{log_debug, log_error, log_info};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConfigValidator` and `Module`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     ConfigValidator, Module,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EditorAction`, `FieldValue`, `OverseerDatabase`, and `handler::installer::*`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:53:35
[INFO] [stdout]    |
[INFO] [stdout] 53 |     config_editor::{ConfigEditor, EditorAction, FieldValue},
[INFO] [stdout]    |                                   ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 54 |     database::{KnownDevice, OverseerDatabase},
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     handler::installer::*,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event::AppEvent`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:59:56
[INFO] [stdout]    |
[INFO] [stdout] 59 |     io::{bus::MessageBus, discovery::DiscoveryManager, event::AppEvent},
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/mod.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |     module::{trait_module_handler::ModuleHandler},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]   --> src/module/strategies/monitoring/handler/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     any::Any,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `module::trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/monitoring/handler/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     module::trait_module_handler::ModuleHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/module/strategies/knowledge/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log_debug`
[INFO] [stdout]  --> src/module/strategies/council.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{log_info, log_debug};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::config::*`
[INFO] [stdout]  --> src/module/config/validation/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::module::config::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `llm`, `monitoring`, and `valve_control`
[INFO] [stdout]   --> src/module/module_manager/initialize_module_handlers.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |         strategies::{llm, monitoring, overseer, side_quest, valve_control},
[INFO] [stdout]    |                      ^^^  ^^^^^^^^^^                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/module/mod.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::prelude::*`
[INFO] [stdout]   --> src/module/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ratatui::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/util/knowledge.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/util/io/serial.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageType`
[INFO] [stdout]   --> src/util/io/transport.rs:15:49
[INFO] [stdout]    |
[INFO] [stdout] 15 |     serial::{SspMessage, SourceInfo, Transport, MessageType},
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timeout`
[INFO] [stdout]  --> src/util/io/discovery.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     time::{timeout, Duration},
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CentralEvent` and `WriteType`
[INFO] [stdout]   --> src/util/io/discovery.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     api::{Central, CentralEvent, Manager as _, Peripheral as _, ScanFilter, WriteType},
[INFO] [stdout]    |                    ^^^^^^^^^^^^                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageType`, `SourceInfo`, and `Transport`
[INFO] [stdout]   --> src/util/io/discovery.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |         serial::{SspMessage, SourceInfo, Transport, MessageType},
[INFO] [stdout]    |                              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep_until`
[INFO] [stdout]  --> src/util/io/ble_scheduler.rs:8:38
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::time::{Duration, Instant, sleep_until};
[INFO] [stdout]   |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OutputStreamHandle`
[INFO] [stdout]  --> src/util/audio/mod.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rodio::{Decoder, OutputStream, OutputStreamHandle, Sink, Source};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/util/llm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]   --> src/util/llm.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/util/string.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ui/document/viewer/external/show_document_external.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 21 |             "mp4" | "webm" | "ogg" | "ogv" | "avi" | "mov" | "mkv" => {
[INFO] [stdout]    |                              ----- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 47 |             "mp3" | "wav" | "ogg" | "oga" | "flac" | "m4a" | "aac" => {
[INFO] [stdout]    |                             ^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get_mut`: Use Buffer[] or Buffer::cell_mut instead
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/render_line_chart.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     buf.get_mut(x, y).set_symbol("•").set_style(style);
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/app.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         use std::io::Write;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]  --> src/ui/document/manager/open_document.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/widgets/messages_window/widget.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 |     style::{Color, Style, Stylize},
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/widgets/module_detail/widget.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     style::{Color, Stylize},
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stdout]  --> src/module/strategies/overseer/handler/handle_key.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     trait_module_handler::ModuleHandler,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     trait_module_handler::ModuleHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `council`
[INFO] [stdout]    --> src/app.rs:660:29
[INFO] [stdout]     |
[INFO] [stdout] 660 |                 if let Some(ref council) = self.council_screen {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_council`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/history_chart_card.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |       area: Rect,
[INFO] [stdout]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/history_chart_card.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 |       buf: &mut Buffer,
[INFO] [stdout]    |       ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/status_badge_card.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/status_badge_card.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/ui/template/module_templates/monitoring/status_badge_card.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             status,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `status: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/ui/template/module_templates/monitoring/status_badge_card.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             status,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `status: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/get_view_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/get_view_data.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/com/activity_card.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_selected`
[INFO] [stdout]   --> src/ui/template/module_templates/knowledge/llm_card.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         is_selected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_selected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/knowledge/llm_card.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/knowledge/llm_card.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/get_view_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/get_view_data.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/get_view_data.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/get_view_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overlay`
[INFO] [stdout]    --> src/ui/screens/splash/mod.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let overlay = Block::default()
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overlay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/screens/council/mod.rs:208:22
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn render_footer(app: &mut App, area: Rect, buf: &mut Buffer) {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `advisor`
[INFO] [stdout]    --> src/ui/screens/council/mod.rs:234:29
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 if let Some(advisor) = state.advisors.get(state.selected_advisor) {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_advisor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intent_tx`
[INFO] [stdout]   --> src/ui/widgets/jukebox/actor.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let intent_tx = self.intent_tx.clone();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intent_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/ui/widgets/jukebox/actor.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |         if let Some(player) = &self.audio_player {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_idx`
[INFO] [stdout]   --> src/ui/widgets/modules_list/widget.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let end_idx = (start_idx + MODULES_PER_ROW).min(displayable_count);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `results` is never read
[INFO] [stdout]   --> src/module/strategies/llm/database/search_knowledge.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut results = Vec::new();
[INFO] [stdout]    |                           ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 55 |             results = results.into_iter()
[INFO] [stdout]    |             ------- `results` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/from_manifest.rs:86:27
[INFO] [stdout]    |
[INFO] [stdout] 86 |             .filter_map(|(label, field, _)| {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]  --> src/module/strategies/overseer/config_editor/add_llm_fields.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         fields: &mut Vec<(String, EditorField, FieldValue)>,
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bindings`
[INFO] [stdout]  --> src/module/strategies/overseer/config_editor/add_llm_fields.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         bindings: &HashMap<String, Value>
[INFO] [stdout]   |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bindings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/to_full_config.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |         for (label, field, value) in &self.fields {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/to_bindings.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |         for (label, field, value) in &self.fields {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value_width`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/render.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let value_width = left_area.width.saturating_sub(22);
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mac`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/installer/install_module.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |             InstallSource::DiscoveredDevice(mac) => Err(color_eyre::eyre::eyre!(
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_mac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_char`
[INFO] [stdout]    --> src/util/io/discovery.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let tx_char = chars.iter()
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sensor_value`
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/process_messages.rs:18:65
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 HandlerMessage::TelemetryReceived { valve_open, sensor_value } => {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^ help: try ignoring the field: `sensor_value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/module/strategies/council.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 294 |     async fn handle_advisor_status(&self, handler: &CouncilHandler, payload: &str) -> Result<(), color_eyre::Report> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/module/render_overview_cta.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut template = self.cached_template.take()
[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/module/render_detail.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut template = self.cached_template.take()
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_dir`
[INFO] [stdout]    --> src/util/knowledge.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn extract_pdf_with_images(&self, file_path: &Path, cache_dir: &Path) -> Result<(String, HashMap<String, String>)> {
[INFO] [stdout]     |                                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `publish_event`, `render_widget_mode`, and `get_current_device_id` are never used
[INFO] [stdout]    --> src/app.rs:390:14
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl App {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     async fn publish_event(&self, topic: &str, payload: &str) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 680 |     fn render_widget_mode(&mut self, frame: &mut Frame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 932 |     fn get_current_device_id(&self, source: &ModuleSource, module_idx: usize) -> Option<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: fields `max_value`, `is_connected`, `warn_threshold`, and `danger_threshold` are never read
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct ViewData<'a> {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 15 |     value: f64,
[INFO] [stdout] 16 |     max_value: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     is_connected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     warn_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     danger_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `b` and `c` are never read
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct ViewData<'a> {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     b: f64, // telemetry data float
[INFO] [stdout]    |     ^
[INFO] [stdout] 27 |     c: i64, // telemetry data int
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `border_color` are never read
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ViewData<'a> {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 16 |     state: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     border_color: Color,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToggleConfig` is never constructed
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct ToggleConfig<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bindings` is never used
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<'a> ToggleConfig<'a> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 42 |     fn from_bindings(bindings: &'a HashMap<String, Value>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_at_bottom` is never used
[INFO] [stdout]   --> src/ui/widgets/messages_window/widget.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl MessagesWidget {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn is_at_bottom(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_max_scroll` is never used
[INFO] [stdout]  --> src/module/strategies/llm/handler/chat_manager/calculate_max_scroll.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl ChatManager {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 4 |     pub fn calculate_max_scroll(&self, messages: &[String], visible_height: usize) -> usize {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TrustedDevicesRefreshed` and `KnownDevicesRefreshed` are never constructed
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | enum HandlerMessage {
[INFO] [stdout]    |      -------------- variants in this enum
[INFO] [stdout] 93 |     DevicesRefreshed(Vec<(String, String, i16)>),
[INFO] [stdout] 94 |     TrustedDevicesRefreshed(Vec<(String, String)>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 95 |     KnownDevicesRefreshed(Vec<KnownDevice>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HandlerMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `archive_path` is never read
[INFO] [stdout]   --> src/module/strategies/overseer/handler/installer/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ModuleInstaller {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 11 |     pub wasteland_path: PathBuf,
[INFO] [stdout] 12 |     pub archive_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_registry_manifests` is never used
[INFO] [stdout]  --> src/module/strategies/overseer/handler/list_registry_manifests.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl OverseerHandler {
[INFO] [stdout]   | -------------------- method in this implementation
[INFO] [stdout] 4 |     pub(in crate::module) async fn list_registry_manifests(&self) -> color_eyre::Result<Vec<RegistryManifest>> {
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_config_editor` is never used
[INFO] [stdout]  --> src/module/strategies/overseer/handler/get_config_editor.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | impl OverseerHandler {
[INFO] [stdout]   | -------------------- method in this implementation
[INFO] [stdout] 5 |     pub(in crate::module) fn get_config_editor(&self) -> Option<&ConfigEditor> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `StateChanged` is never constructed
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum HandlerMessage {
[INFO] [stdout]    |      -------------- variant in this enum
[INFO] [stdout] 20 |     StateChanged(bool),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HandlerMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]   --> src/module/strategies/council.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct CouncilHandler {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 33 |     message_bus: crate::util::io::bus::MessageBus,
[INFO] [stdout] 34 |     database: crate::util::database::Database,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `chunk_text_with_images` and `extract_pdf_with_images` are never used
[INFO] [stdout]    --> src/util/knowledge.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl<'a> KnowledgeIngester<'a> {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn chunk_text_with_images(&self, content: &str, file_path: &Path, config: &ModuleConfig, metadata: String) -> Vec<KnowledgeChun...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn extract_pdf_with_images(&self, file_path: &Path, cache_dir: &Path) -> Result<(String, HashMap<String, String>)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/util/io/serial.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Transport {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 72 |     fn from_str(s: &str) -> Self {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURVON_SERVICE_UUID` is never used
[INFO] [stdout]   --> src/util/io/discovery.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const SURVON_SERVICE_UUID: &str = "6e400001-b5a3-f393-e0a9-e50e24dcca9e";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompactRegistrationResponse` is never constructed
[INFO] [stdout]   --> src/util/io/discovery.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct CompactRegistrationResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompactCapabilities` is never constructed
[INFO] [stdout]   --> src/util/io/discovery.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct CompactCapabilities {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_capabilities` is never used
[INFO] [stdout]   --> src/util/io/discovery.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl CompactRegistrationResponse {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] 63 |     fn to_capabilities(self) -> DeviceCapabilities {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_one_json_message` and `is_trusted` are never used
[INFO] [stdout]    --> src/util/io/discovery.rs:579:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl DiscoveryManager {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 579 |     fn extract_one_json_message(buffer: &str) -> Result<(String, String), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 761 |     async fn is_trusted(&self, mac_address: &str) -> Result<bool> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `filename` is never used
[INFO] [stdout]   --> src/util/log.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl LogLevel {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn filename(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_dir` is never read
[INFO] [stdout]   --> src/util/log.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Logger {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 51 |     log_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `service_type` is never read
[INFO] [stdout]   --> src/util/service/discovery.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct ServiceMetadata {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 19 |     service_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServiceMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scan_pattern` is never read
[INFO] [stdout]   --> src/util/service/discovery.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ServiceDiscovery {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 33 |     scan_pattern: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/widgets/jukebox/widget.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_eq_visualizer(&self) -> Line {
[INFO] [stdout]     |                          ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_eq_visualizer(&self) -> Line<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/widgets/module_detail/widget.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 30 |     ) -> Block {
[INFO] [stdout]    |          ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Block<'_> {
[INFO] [stdout]    |               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/empty_message.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn empty_message(text: &str, border_color: Option<Color>) -> Paragraph {
[INFO] [stdout]    |                                ^^^^ the lifetime is elided here      ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn empty_message(text: &str, border_color: Option<Color>) -> Paragraph<'_> {
[INFO] [stdout]    |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/help.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn help(text: &str) -> Paragraph {
[INFO] [stdout]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn help(text: &str) -> Paragraph<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/is_scanning.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn is_scanning(scan_countdown: &u8) -> Paragraph {
[INFO] [stdout]    |                                        ^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn is_scanning(scan_countdown: &u8) -> Paragraph<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/status.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn status(status: &str) -> Paragraph {
[INFO] [stdout]    |                           ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn status(status: &str) -> Paragraph<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__init_schema` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/init_llm_schema.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _llm__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_init_schema`
[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 `_llm__insert_chat_message` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/insert_chat_message.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _llm__insert_chat_message(&self, message: ChatMessage) -> rusqlite::Result<i64> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_insert_chat_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__get_chat_history` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/get_chat_history.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _llm__get_chat_history(&self, session_id: &str, limit: usize) -> rusqlite::Result<Vec<ChatMessage>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_get_chat_history`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__insert_knowledge_chunk` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/insert_knowledge_chunk.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _llm__insert_knowledge_chunk(&self, chunk: KnowledgeChunk) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_insert_knowledge_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__search_knowledge` should have a snake case name
[INFO] [stdout]   --> src/module/strategies/llm/database/search_knowledge.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(in crate::module) fn _llm__search_knowledge(&self, query: &str, domains: &[String], limit: usize) -> rusqlite::Result<Vec<Kn...
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_search_knowledge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__clear_knowledge` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/clear_knowledge.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _llm__clear_knowledge(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_clear_knowledge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__init_schema` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/init_schema.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _overseer__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_init_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__record_device_discovery` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/record_device_discovery.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__record_device_discovery(
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_record_device_discovery`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__update_device_metadata` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/update_device_metadata.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__update_device_metadata(
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_update_device_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__is_device_trusted` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/is_device_trusted.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(in crate::module) fn _overseer__is_device_trusted(&self, mac_address: &str) -> rusqlite::Result<bool> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_is_device_trusted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__set_device_trust` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/set_device_trust.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(in crate::module) fn _overseer__set_device_trust(&self, mac_address: &str, trusted: bool) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_set_device_trust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__trust_device` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/trust_device.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__trust_device(&self, mac_address: &str, device_name: &str) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_trust_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__get_trusted_devices` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/get_trusted_devices.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _overseer__get_trusted_devices(&self) -> rusqlite::Result<Vec<(String, String)>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_get_trusted_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__get_all_known_devices` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/get_all_known_devices.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__get_all_known_devices(&self) -> rusqlite::Result<Vec<KnownDevice>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_get_all_known_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__delete_device` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/delete_device.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(in crate::module) fn _overseer__delete_device(&self, mac_address: &str) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_delete_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__init_schema` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/init_schema.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _side_quest__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_init_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__create_side_quest` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/create_side_quest.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(in crate::module) fn _side_quest__create_side_quest(
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_create_side_quest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__get_active_side_quests` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/get_active_side_quests.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _side_quest__get_active_side_quests(&self) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_active_side_quests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__complete_side_quest` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/complete_side_quest.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _side_quest__complete_side_quest(&self, quest_id: i64) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_complete_side_quest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__delete_side_quest` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/delete_side_quest.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _side_quest__delete_side_quest(&self, quest_id: i64) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_delete_side_quest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__get_quests_by_topic` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/get_quests_by_topic.rs:8:30
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub(in crate::module) fn _side_quest__get_quests_by_topic(&self, topic: &str) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_quests_by_topic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__get_quests_with_deadlines` should have a snake case name
[INFO] [stdout]   --> src/module/strategies/side_quest/database/get_quests_with_deadlines.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub(in crate::module) fn _side_quest__get_quests_with_deadlines(&self, days_ahead: i64) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_quests_with_deadlines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/module/strategies/council.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 57 | |             "council.init".to_string(),
[INFO] [stdout] 58 | |             serde_json::json!({
[INFO] [stdout] 59 | |                 "advisors": device_ids,
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |             "survon_tui".to_string(),
[INFO] [stdout] 66 | |         )).await;
[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] 56 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 | /             self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 143 | |                 "council.response".to_string(),
[INFO] [stdout] 144 | |                 serde_json::json!({
[INFO] [stdout] 145 | |                     "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 153 | |                 "survon_tui".to_string(),
[INFO] [stdout] 154 | |             )).await;
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 162 | |             "council.response".to_string(),
[INFO] [stdout] 163 | |             serde_json::json!({
[INFO] [stdout] 164 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 173 | |             "survon_tui".to_string(),
[INFO] [stdout] 174 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 191 | |             "council.response".to_string(),
[INFO] [stdout] 192 | |             serde_json::json!({
[INFO] [stdout] 193 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |             "survon_tui".to_string(),
[INFO] [stdout] 202 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 209 | |             "council.response".to_string(),
[INFO] [stdout] 210 | |             serde_json::json!({
[INFO] [stdout] 211 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             "survon_tui".to_string(),
[INFO] [stdout] 220 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 227 | |             "council.response".to_string(),
[INFO] [stdout] 228 | |             serde_json::json!({
[INFO] [stdout] 229 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 237 | |             "survon_tui".to_string(),
[INFO] [stdout] 238 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 245 | |             "council.response".to_string(),
[INFO] [stdout] 246 | |             serde_json::json!({
[INFO] [stdout] 247 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |             "survon_tui".to_string(),
[INFO] [stdout] 256 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7m 17s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pdf v0.8.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "3956b2d8f2116376279f1e946a942c61f7d8b150bdd28bce4375895e2df42d13", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3956b2d8f2116376279f1e946a942c61f7d8b150bdd28bce4375895e2df42d13", kill_on_drop: false }`
[INFO] [stdout] 3956b2d8f2116376279f1e946a942c61f7d8b150bdd28bce4375895e2df42d13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a3ea24ec79656c26072058e44973b0de11b6ad01732ace5976140b1658627644
[INFO] running `Command { std: "docker" "start" "-a" "a3ea24ec79656c26072058e44973b0de11b6ad01732ace5976140b1658627644", kill_on_drop: false }`
[INFO] [stderr]    Compiling runtime-base-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/app.rs:2:43
[INFO] [stdout]   |
[INFO] [stdout] 2 |     crossterm::event::{KeyCode, KeyEvent, KeyModifiers},
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/app.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gag::Gag`
[INFO] [stdout]  --> src/app.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gag::Gag;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/app.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `layout::Rect`
[INFO] [stdout]   --> src/app.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ratatui::{layout::Rect, Frame};
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueuedCommand`
[INFO] [stdout]   --> src/app.rs:17:42
[INFO] [stdout]    |
[INFO] [stdout] 17 |         ble_scheduler::{CommandPriority, QueuedCommand},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Module`
[INFO] [stdout]   --> src/app.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `database::ChatMessage` and `handler::LlmHandler`
[INFO] [stdout]   --> src/app.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 | use crate::module::strategies::llm::{database::ChatMessage, handler::LlmHandler};
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]    --> src/app.rs:440:13
[INFO] [stdout]     |
[INFO] [stdout] 440 |         use std::fs::OpenOptions;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/app.rs:558:17
[INFO] [stdout]     |
[INFO] [stdout] 558 |                 /// TODO something someday.
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 559 |                 Ok(true)
[INFO] [stdout]     |                 -------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]  --> src/ui/document/manager/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/ui/template/mod.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | /// GLOBAL REGISTRY - Register all your templates here
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     widgets::{Widget},
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::ui::template::UiTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ListItem`
[INFO] [stdout]  --> src/ui/template/module_templates/control/toggle_switch_card.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Block, Borders, ListItem, Paragraph, Widget};
[INFO] [stdout]   |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::owo_colors::OwoColorize`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use color_eyre::owo_colors::OwoColorize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widgets::Widget`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     widgets::Widget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ui::template::UiTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/mod.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     widgets::{Widget},
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ui::template::UiTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BorderType`
[INFO] [stdout]  --> src/ui/screens/splash/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets::{Block, BorderType, Paragraph, Widget},
[INFO] [stdout]   |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OverviewFocus`
[INFO] [stdout]  --> src/ui/screens/council/mod.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::app::{App, OverviewFocus};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::ModuleManagerView`
[INFO] [stdout]  --> src/ui/screens/council/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::module::ModuleManagerView;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/ui/style.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/ui/widgets/jukebox/mod.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::BaseModuleConfig`
[INFO] [stdout]  --> src/ui/widgets/jukebox/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::module::BaseModuleConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment` and `Paragraph`
[INFO] [stdout]  --> src/ui/widgets/module_detail/widget.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 5 |     style::{Color, Stylize},
[INFO] [stdout] 6 |     widgets::{Block, BorderType, Paragraph, Widget},
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> src/module/strategies/llm/handler/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `module::trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/llm/handler/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     module::trait_module_handler::ModuleHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]   --> src/module/strategies/llm/database/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rusqlite::{params, Result};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_debug`
[INFO] [stdout]   --> src/module/strategies/llm/database/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::log_debug;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `prelude::*` and `widgets::*`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     prelude::*,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     widgets::*,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rusqlite::params`
[INFO] [stdout]  --> src/module/strategies/overseer/database/trait_overseer_database.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusqlite::params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_info`
[INFO] [stdout]  --> src/module/strategies/overseer/database/trait_overseer_database.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::log_info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `params`
[INFO] [stdout]   --> src/module/strategies/overseer/database/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rusqlite::{params, Result};
[INFO] [stdout]    |                ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::log_info`
[INFO] [stdout]   --> src/module/strategies/overseer/database/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::log_info;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::database::Database`
[INFO] [stdout]   --> src/module/strategies/overseer/database/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::util::database::Database;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::Result`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use color_eyre::Result;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `buffer::Buffer`, `crossterm::event::KeyCode`, and `prelude::*`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     crossterm::event::KeyCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     prelude::*,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `any::Any`, and `fs`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     any::Any,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 40 |     fs,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 41 |     path::{Path, PathBuf},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `log_debug`, `log_error`, and `log_info`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::{log_debug, log_error, log_info};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConfigValidator` and `Module`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     ConfigValidator, Module,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EditorAction`, `FieldValue`, `OverseerDatabase`, and `handler::installer::*`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:53:35
[INFO] [stdout]    |
[INFO] [stdout] 53 |     config_editor::{ConfigEditor, EditorAction, FieldValue},
[INFO] [stdout]    |                                   ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 54 |     database::{KnownDevice, OverseerDatabase},
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     handler::installer::*,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event::AppEvent`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:59:56
[INFO] [stdout]    |
[INFO] [stdout] 59 |     io::{bus::MessageBus, discovery::DiscoveryManager, event::AppEvent},
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/mod.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |     module::{trait_module_handler::ModuleHandler},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `any::Any`
[INFO] [stdout]   --> src/module/strategies/monitoring/handler/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     any::Any,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `module::trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/monitoring/handler/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     module::trait_module_handler::ModuleHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/module/strategies/knowledge/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log_debug`
[INFO] [stdout]  --> src/module/strategies/council.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{log_info, log_debug};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::config::*`
[INFO] [stdout]  --> src/module/config/validation/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::module::config::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `llm`, `monitoring`, and `valve_control`
[INFO] [stdout]   --> src/module/module_manager/initialize_module_handlers.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 |         strategies::{llm, monitoring, overseer, side_quest, valve_control},
[INFO] [stdout]    |                      ^^^  ^^^^^^^^^^                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/module/mod.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::prelude::*`
[INFO] [stdout]   --> src/module/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ratatui::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/util/knowledge.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/util/io/serial.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timeout`
[INFO] [stdout]  --> src/util/io/discovery.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     time::{timeout, Duration},
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CentralEvent` and `WriteType`
[INFO] [stdout]   --> src/util/io/discovery.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     api::{Central, CentralEvent, Manager as _, Peripheral as _, ScanFilter, WriteType},
[INFO] [stdout]    |                    ^^^^^^^^^^^^                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageType`, `SourceInfo`, and `Transport`
[INFO] [stdout]   --> src/util/io/discovery.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 |         serial::{SspMessage, SourceInfo, Transport, MessageType},
[INFO] [stdout]    |                              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep_until`
[INFO] [stdout]  --> src/util/io/ble_scheduler.rs:8:38
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::time::{Duration, Instant, sleep_until};
[INFO] [stdout]   |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OutputStreamHandle`
[INFO] [stdout]  --> src/util/audio/mod.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rodio::{Decoder, OutputStream, OutputStreamHandle, Sink, Source};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/util/llm.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]   --> src/util/llm.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> src/util/string.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/ui/document/viewer/external/show_document_external.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 21 |             "mp4" | "webm" | "ogg" | "ogv" | "avi" | "mov" | "mkv" => {
[INFO] [stdout]    |                              ----- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 47 |             "mp3" | "wav" | "ogg" | "oga" | "flac" | "m4a" | "aac" => {
[INFO] [stdout]    |                             ^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::buffer::Buffer::get_mut`: Use Buffer[] or Buffer::cell_mut instead
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/render_line_chart.rs:89:25
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     buf.get_mut(x, y).set_symbol("•").set_style(style);
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/app.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         use std::io::Write;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stdout]  --> src/ui/document/manager/open_document.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::io::AsyncBufReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/widgets/messages_window/widget.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 |     style::{Color, Style, Stylize},
[INFO] [stdout]   |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stylize`
[INFO] [stdout]  --> src/ui/widgets/module_detail/widget.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     style::{Color, Stylize},
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stdout]  --> src/module/strategies/overseer/handler/handle_key.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     trait_module_handler::ModuleHandler,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     trait_module_handler::ModuleHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `council`
[INFO] [stdout]    --> src/app.rs:660:29
[INFO] [stdout]     |
[INFO] [stdout] 660 |                 if let Some(ref council) = self.council_screen {
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_council`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/history_chart_card.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |       area: Rect,
[INFO] [stdout]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/history_chart_card.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 |       buf: &mut Buffer,
[INFO] [stdout]    |       ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/status_badge_card.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/status_badge_card.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/ui/template/module_templates/monitoring/status_badge_card.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             status,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `status: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> src/ui/template/module_templates/monitoring/status_badge_card.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             status,
[INFO] [stdout]     |             ^^^^^^ help: try ignoring the field: `status: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/get_view_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/get_view_data.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/com/activity_card.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_selected`
[INFO] [stdout]   --> src/ui/template/module_templates/knowledge/llm_card.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         is_selected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_selected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/knowledge/llm_card.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/knowledge/llm_card.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/get_view_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/system/overseer_card/get_view_data.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/get_view_data.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         area: Rect,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/ui/template/module_templates/planning/side_quest_card/get_view_data.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         buf: &mut Buffer,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overlay`
[INFO] [stdout]    --> src/ui/screens/splash/mod.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let overlay = Block::default()
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overlay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> src/ui/screens/council/mod.rs:208:22
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn render_footer(app: &mut App, area: Rect, buf: &mut Buffer) {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `advisor`
[INFO] [stdout]    --> src/ui/screens/council/mod.rs:234:29
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 if let Some(advisor) = state.advisors.get(state.selected_advisor) {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_advisor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `intent_tx`
[INFO] [stdout]   --> src/ui/widgets/jukebox/actor.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let intent_tx = self.intent_tx.clone();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intent_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/ui/widgets/jukebox/actor.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |         if let Some(player) = &self.audio_player {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_idx`
[INFO] [stdout]   --> src/ui/widgets/modules_list/widget.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let end_idx = (start_idx + MODULES_PER_ROW).min(displayable_count);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `results` is never read
[INFO] [stdout]   --> src/module/strategies/llm/database/search_knowledge.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut results = Vec::new();
[INFO] [stdout]    |                           ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 55 |             results = results.into_iter()
[INFO] [stdout]    |             ------- `results` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/from_manifest.rs:86:27
[INFO] [stdout]    |
[INFO] [stdout] 86 |             .filter_map(|(label, field, _)| {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]  --> src/module/strategies/overseer/config_editor/add_llm_fields.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         fields: &mut Vec<(String, EditorField, FieldValue)>,
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bindings`
[INFO] [stdout]  --> src/module/strategies/overseer/config_editor/add_llm_fields.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         bindings: &HashMap<String, Value>
[INFO] [stdout]   |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bindings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/to_full_config.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |         for (label, field, value) in &self.fields {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/to_bindings.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 |         for (label, field, value) in &self.fields {
[INFO] [stdout]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value_width`
[INFO] [stdout]   --> src/module/strategies/overseer/config_editor/render.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let value_width = left_area.width.saturating_sub(22);
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mac`
[INFO] [stdout]   --> src/module/strategies/overseer/handler/installer/install_module.rs:17:45
[INFO] [stdout]    |
[INFO] [stdout] 17 |             InstallSource::DiscoveredDevice(mac) => Err(color_eyre::eyre::eyre!(
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_mac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_char`
[INFO] [stdout]    --> src/util/io/discovery.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let tx_char = chars.iter()
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_char`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sensor_value`
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/process_messages.rs:18:65
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 HandlerMessage::TelemetryReceived { valve_open, sensor_value } => {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^ help: try ignoring the field: `sensor_value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handler`
[INFO] [stdout]    --> src/module/strategies/council.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 294 |     async fn handle_advisor_status(&self, handler: &CouncilHandler, payload: &str) -> Result<(), color_eyre::Report> {
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/module/render_overview_cta.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut template = self.cached_template.take()
[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/module/render_detail.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut template = self.cached_template.take()
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache_dir`
[INFO] [stdout]    --> src/util/knowledge.rs:260:57
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn extract_pdf_with_images(&self, file_path: &Path, cache_dir: &Path) -> Result<(String, HashMap<String, String>)> {
[INFO] [stdout]     |                                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manager`
[INFO] [stdout]    --> src/util/io/transport.rs:376:13
[INFO] [stdout]     |
[INFO] [stdout] 376 |         let manager = TransportManager::new(bus.clone());
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `publish_event`, `render_widget_mode`, and `get_current_device_id` are never used
[INFO] [stdout]    --> src/app.rs:390:14
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl App {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     async fn publish_event(&self, topic: &str, payload: &str) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 680 |     fn render_widget_mode(&mut self, frame: &mut Frame) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 932 |     fn get_current_device_id(&self, source: &ModuleSource, module_idx: usize) -> Option<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: fields `max_value`, `is_connected`, `warn_threshold`, and `danger_threshold` are never read
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct ViewData<'a> {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 15 |     value: f64,
[INFO] [stdout] 16 |     max_value: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     is_connected: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     warn_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     danger_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `b` and `c` are never read
[INFO] [stdout]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct ViewData<'a> {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     b: f64, // telemetry data float
[INFO] [stdout]    |     ^
[INFO] [stdout] 27 |     c: i64, // telemetry data int
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `state` and `border_color` are never read
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ViewData<'a> {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 16 |     state: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     border_color: Color,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToggleConfig` is never constructed
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct ToggleConfig<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bindings` is never used
[INFO] [stdout]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl<'a> ToggleConfig<'a> {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 42 |     fn from_bindings(bindings: &'a HashMap<String, Value>) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_at_bottom` is never used
[INFO] [stdout]   --> src/ui/widgets/messages_window/widget.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl MessagesWidget {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 97 |     fn is_at_bottom(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_max_scroll` is never used
[INFO] [stdout]  --> src/module/strategies/llm/handler/chat_manager/calculate_max_scroll.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl ChatManager {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 4 |     pub fn calculate_max_scroll(&self, messages: &[String], visible_height: usize) -> usize {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TrustedDevicesRefreshed` and `KnownDevicesRefreshed` are never constructed
[INFO] [stdout]   --> src/module/strategies/overseer/handler/mod.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | enum HandlerMessage {
[INFO] [stdout]    |      -------------- variants in this enum
[INFO] [stdout] 93 |     DevicesRefreshed(Vec<(String, String, i16)>),
[INFO] [stdout] 94 |     TrustedDevicesRefreshed(Vec<(String, String)>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 95 |     KnownDevicesRefreshed(Vec<KnownDevice>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HandlerMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `archive_path` is never read
[INFO] [stdout]   --> src/module/strategies/overseer/handler/installer/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ModuleInstaller {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 11 |     pub wasteland_path: PathBuf,
[INFO] [stdout] 12 |     pub archive_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_registry_manifests` is never used
[INFO] [stdout]  --> src/module/strategies/overseer/handler/list_registry_manifests.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl OverseerHandler {
[INFO] [stdout]   | -------------------- method in this implementation
[INFO] [stdout] 4 |     pub(in crate::module) async fn list_registry_manifests(&self) -> color_eyre::Result<Vec<RegistryManifest>> {
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_config_editor` is never used
[INFO] [stdout]  --> src/module/strategies/overseer/handler/get_config_editor.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | impl OverseerHandler {
[INFO] [stdout]   | -------------------- method in this implementation
[INFO] [stdout] 5 |     pub(in crate::module) fn get_config_editor(&self) -> Option<&ConfigEditor> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `StateChanged` is never constructed
[INFO] [stdout]   --> src/module/strategies/valve_control/handler/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum HandlerMessage {
[INFO] [stdout]    |      -------------- variant in this enum
[INFO] [stdout] 20 |     StateChanged(bool),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HandlerMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]   --> src/module/strategies/council.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct CouncilHandler {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 33 |     message_bus: crate::util::io::bus::MessageBus,
[INFO] [stdout] 34 |     database: crate::util::database::Database,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `chunk_text_with_images` and `extract_pdf_with_images` are never used
[INFO] [stdout]    --> src/util/knowledge.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl<'a> KnowledgeIngester<'a> {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn chunk_text_with_images(&self, content: &str, file_path: &Path, config: &ModuleConfig, metadata: String) -> Vec<KnowledgeChun...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn extract_pdf_with_images(&self, file_path: &Path, cache_dir: &Path) -> Result<(String, HashMap<String, String>)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]   --> src/util/io/serial.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Transport {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 72 |     fn from_str(s: &str) -> Self {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURVON_SERVICE_UUID` is never used
[INFO] [stdout]   --> src/util/io/discovery.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const SURVON_SERVICE_UUID: &str = "6e400001-b5a3-f393-e0a9-e50e24dcca9e";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompactRegistrationResponse` is never constructed
[INFO] [stdout]   --> src/util/io/discovery.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct CompactRegistrationResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompactCapabilities` is never constructed
[INFO] [stdout]   --> src/util/io/discovery.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct CompactCapabilities {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_capabilities` is never used
[INFO] [stdout]   --> src/util/io/discovery.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl CompactRegistrationResponse {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] 63 |     fn to_capabilities(self) -> DeviceCapabilities {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extract_one_json_message` and `is_trusted` are never used
[INFO] [stdout]    --> src/util/io/discovery.rs:579:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl DiscoveryManager {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 579 |     fn extract_one_json_message(buffer: &str) -> Result<(String, String), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 761 |     async fn is_trusted(&self, mac_address: &str) -> Result<bool> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `filename` is never used
[INFO] [stdout]   --> src/util/log.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl LogLevel {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn filename(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `log_dir` is never read
[INFO] [stdout]   --> src/util/log.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Logger {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 51 |     log_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `service_type` is never read
[INFO] [stdout]   --> src/util/service/discovery.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct ServiceMetadata {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 19 |     service_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServiceMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scan_pattern` is never read
[INFO] [stdout]   --> src/util/service/discovery.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ServiceDiscovery {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 33 |     scan_pattern: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/widgets/jukebox/widget.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_eq_visualizer(&self) -> Line {
[INFO] [stdout]     |                          ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn get_eq_visualizer(&self) -> Line<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/widgets/module_detail/widget.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 30 |     ) -> Block {
[INFO] [stdout]    |          ^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 30 |     ) -> Block<'_> {
[INFO] [stdout]    |               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/empty_message.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn empty_message(text: &str, border_color: Option<Color>) -> Paragraph {
[INFO] [stdout]    |                                ^^^^ the lifetime is elided here      ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn empty_message(text: &str, border_color: Option<Color>) -> Paragraph<'_> {
[INFO] [stdout]    |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/help.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn help(text: &str) -> Paragraph {
[INFO] [stdout]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn help(text: &str) -> Paragraph<'_> {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/is_scanning.rs:10:40
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn is_scanning(scan_countdown: &u8) -> Paragraph {
[INFO] [stdout]    |                                        ^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn is_scanning(scan_countdown: &u8) -> Paragraph<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui/components/status.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn status(status: &str) -> Paragraph {
[INFO] [stdout]    |                           ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn status(status: &str) -> Paragraph<'_> {
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__init_schema` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/init_llm_schema.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _llm__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_init_schema`
[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 `_llm__insert_chat_message` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/insert_chat_message.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _llm__insert_chat_message(&self, message: ChatMessage) -> rusqlite::Result<i64> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_insert_chat_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__get_chat_history` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/get_chat_history.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _llm__get_chat_history(&self, session_id: &str, limit: usize) -> rusqlite::Result<Vec<ChatMessage>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_get_chat_history`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__insert_knowledge_chunk` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/insert_knowledge_chunk.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _llm__insert_knowledge_chunk(&self, chunk: KnowledgeChunk) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_insert_knowledge_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__search_knowledge` should have a snake case name
[INFO] [stdout]   --> src/module/strategies/llm/database/search_knowledge.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub(in crate::module) fn _llm__search_knowledge(&self, query: &str, domains: &[String], limit: usize) -> rusqlite::Result<Vec<Kn...
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_search_knowledge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_llm__clear_knowledge` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/llm/database/clear_knowledge.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _llm__clear_knowledge(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_clear_knowledge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__init_schema` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/init_schema.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _overseer__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_init_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__record_device_discovery` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/record_device_discovery.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__record_device_discovery(
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_record_device_discovery`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__update_device_metadata` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/update_device_metadata.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__update_device_metadata(
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_update_device_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__is_device_trusted` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/is_device_trusted.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(in crate::module) fn _overseer__is_device_trusted(&self, mac_address: &str) -> rusqlite::Result<bool> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_is_device_trusted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__set_device_trust` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/set_device_trust.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(in crate::module) fn _overseer__set_device_trust(&self, mac_address: &str, trusted: bool) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_set_device_trust`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__trust_device` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/trust_device.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__trust_device(&self, mac_address: &str, device_name: &str) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_trust_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__get_trusted_devices` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/get_trusted_devices.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _overseer__get_trusted_devices(&self) -> rusqlite::Result<Vec<(String, String)>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_get_trusted_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__get_all_known_devices` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/get_all_known_devices.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _overseer__get_all_known_devices(&self) -> rusqlite::Result<Vec<KnownDevice>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_get_all_known_devices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_overseer__delete_device` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/overseer/database/delete_device.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub(in crate::module) fn _overseer__delete_device(&self, mac_address: &str) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_delete_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__init_schema` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/init_schema.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub(in crate::module) fn _side_quest__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_init_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__create_side_quest` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/create_side_quest.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub(in crate::module) fn _side_quest__create_side_quest(
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_create_side_quest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__get_active_side_quests` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/get_active_side_quests.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _side_quest__get_active_side_quests(&self) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_active_side_quests`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__complete_side_quest` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/complete_side_quest.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub(in crate::module) fn _side_quest__complete_side_quest(&self, quest_id: i64) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_complete_side_quest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__delete_side_quest` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/delete_side_quest.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub(in crate::module) fn _side_quest__delete_side_quest(&self, quest_id: i64) -> rusqlite::Result<()> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_delete_side_quest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__get_quests_by_topic` should have a snake case name
[INFO] [stdout]  --> src/module/strategies/side_quest/database/get_quests_by_topic.rs:8:30
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub(in crate::module) fn _side_quest__get_quests_by_topic(&self, topic: &str) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_quests_by_topic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `_side_quest__get_quests_with_deadlines` should have a snake case name
[INFO] [stdout]   --> src/module/strategies/side_quest/database/get_quests_with_deadlines.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub(in crate::module) fn _side_quest__get_quests_with_deadlines(&self, days_ahead: i64) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_quests_with_deadlines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/module/strategies/council.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 57 | |             "council.init".to_string(),
[INFO] [stdout] 58 | |             serde_json::json!({
[INFO] [stdout] 59 | |                 "advisors": device_ids,
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |             "survon_tui".to_string(),
[INFO] [stdout] 66 | |         )).await;
[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] 56 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 | /             self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 143 | |                 "council.response".to_string(),
[INFO] [stdout] 144 | |                 serde_json::json!({
[INFO] [stdout] 145 | |                     "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 153 | |                 "survon_tui".to_string(),
[INFO] [stdout] 154 | |             )).await;
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 162 | |             "council.response".to_string(),
[INFO] [stdout] 163 | |             serde_json::json!({
[INFO] [stdout] 164 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 173 | |             "survon_tui".to_string(),
[INFO] [stdout] 174 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 191 | |             "council.response".to_string(),
[INFO] [stdout] 192 | |             serde_json::json!({
[INFO] [stdout] 193 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 201 | |             "survon_tui".to_string(),
[INFO] [stdout] 202 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 209 | |             "council.response".to_string(),
[INFO] [stdout] 210 | |             serde_json::json!({
[INFO] [stdout] 211 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |             "survon_tui".to_string(),
[INFO] [stdout] 220 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:226:9
[INFO] [stdout]     |
[INFO] [stdout] 226 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 227 | |             "council.response".to_string(),
[INFO] [stdout] 228 | |             serde_json::json!({
[INFO] [stdout] 229 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 237 | |             "survon_tui".to_string(),
[INFO] [stdout] 238 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/module/strategies/council.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout] 245 | |             "council.response".to_string(),
[INFO] [stdout] 246 | |             serde_json::json!({
[INFO] [stdout] 247 | |                 "advisor": advisor,
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |             "survon_tui".to_string(),
[INFO] [stdout] 256 | |         )).await;
[INFO] [stdout]     | |________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.48s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pdf v0.8.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "a3ea24ec79656c26072058e44973b0de11b6ad01732ace5976140b1658627644", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3ea24ec79656c26072058e44973b0de11b6ad01732ace5976140b1658627644", kill_on_drop: false }`
[INFO] [stdout] a3ea24ec79656c26072058e44973b0de11b6ad01732ace5976140b1658627644
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] efb64a99ef1cbd38d5de677369d68b1b218c4a5d97ecd9de9578bcd0c29f1f2d
[INFO] running `Command { std: "docker" "start" "-a" "efb64a99ef1cbd38d5de677369d68b1b218c4a5d97ecd9de9578bcd0c29f1f2d", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `KeyModifiers`
[INFO] [stderr]  --> src/app.rs:2:43
[INFO] [stderr]   |
[INFO] [stderr] 2 |     crossterm::event::{KeyCode, KeyEvent, KeyModifiers},
[INFO] [stderr]   |                                           ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]  --> src/app.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::path::{Path, PathBuf};
[INFO] [stderr]   |                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `gag::Gag`
[INFO] [stderr]  --> src/app.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use gag::Gag;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/app.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `layout::Rect`
[INFO] [stderr]   --> src/app.rs:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ratatui::{layout::Rect, Frame};
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `QueuedCommand`
[INFO] [stderr]   --> src/app.rs:17:42
[INFO] [stderr]    |
[INFO] [stderr] 17 |         ble_scheduler::{CommandPriority, QueuedCommand},
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Module`
[INFO] [stderr]   --> src/app.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     Module,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `database::ChatMessage` and `handler::LlmHandler`
[INFO] [stderr]   --> src/app.rs:55:38
[INFO] [stderr]    |
[INFO] [stderr] 55 | use crate::module::strategies::llm::{database::ChatMessage, handler::LlmHandler};
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::OpenOptions`
[INFO] [stderr]    --> src/app.rs:440:13
[INFO] [stderr]     |
[INFO] [stderr] 440 |         use std::fs::OpenOptions;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/app.rs:558:17
[INFO] [stderr]     |
[INFO] [stderr] 558 |                 /// TODO something someday.
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 559 |                 Ok(true)
[INFO] [stderr]     |                 -------- rustdoc does not generate documentation for expressions
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stderr]  --> src/ui/document/manager/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio::io::AsyncBufReadExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/ui/template/mod.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | /// GLOBAL REGISTRY - Register all your templates here
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Widget`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 |     widgets::{Widget},
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::ui::template::UiTemplate;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ListItem`
[INFO] [stderr]  --> src/ui/template/module_templates/control/toggle_switch_card.rs:4:40
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ratatui::widgets::{Block, Borders, ListItem, Paragraph, Widget};
[INFO] [stderr]   |                                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `color_eyre::owo_colors::OwoColorize`
[INFO] [stderr]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use color_eyre::owo_colors::OwoColorize;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `widgets::Widget`
[INFO] [stderr]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     widgets::Widget,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stderr]   --> src/ui/template/module_templates/system/overseer_card/mod.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::ui::template::UiTemplate;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Widget`
[INFO] [stderr]   --> src/ui/template/module_templates/planning/side_quest_card/mod.rs:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 |     widgets::{Widget},
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ui::template::UiTemplate`
[INFO] [stderr]   --> src/ui/template/module_templates/planning/side_quest_card/mod.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::ui::template::UiTemplate;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BorderType`
[INFO] [stderr]  --> src/ui/screens/splash/mod.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 |     widgets::{Block, BorderType, Paragraph, Widget},
[INFO] [stderr]   |                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OverviewFocus`
[INFO] [stderr]  --> src/ui/screens/council/mod.rs:1:23
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::app::{App, OverviewFocus};
[INFO] [stderr]   |                       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::module::ModuleManagerView`
[INFO] [stderr]  --> src/ui/screens/council/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::module::ModuleManagerView;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]  --> src/ui/style.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]  --> src/ui/widgets/jukebox/mod.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::module::BaseModuleConfig`
[INFO] [stderr]  --> src/ui/widgets/jukebox/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::module::BaseModuleConfig;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Alignment` and `Paragraph`
[INFO] [stderr]  --> src/ui/widgets/module_detail/widget.rs:4:14
[INFO] [stderr]   |
[INFO] [stderr] 4 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stderr]   |              ^^^^^^^^^
[INFO] [stderr] 5 |     style::{Color, Stylize},
[INFO] [stderr] 6 |     widgets::{Block, BorderType, Paragraph, Widget},
[INFO] [stderr]   |                                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]  --> src/module/strategies/llm/handler/mod.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::any::Any;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `module::trait_module_handler::ModuleHandler`
[INFO] [stderr]   --> src/module/strategies/llm/handler/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     module::trait_module_handler::ModuleHandler,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `params`
[INFO] [stderr]   --> src/module/strategies/llm/database/mod.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rusqlite::{params, Result};
[INFO] [stderr]    |                ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::log_debug`
[INFO] [stderr]   --> src/module/strategies/llm/database/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::log_debug;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `prelude::*` and `widgets::*`
[INFO] [stderr]   --> src/module/strategies/overseer/config_editor/mod.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     prelude::*,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 25 |     widgets::*,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rusqlite::params`
[INFO] [stderr]  --> src/module/strategies/overseer/database/trait_overseer_database.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rusqlite::params;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::log_info`
[INFO] [stderr]  --> src/module/strategies/overseer/database/trait_overseer_database.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::log_info;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Result` and `params`
[INFO] [stderr]   --> src/module/strategies/overseer/database/mod.rs:12:16
[INFO] [stderr]    |
[INFO] [stderr] 12 | use rusqlite::{params, Result};
[INFO] [stderr]    |                ^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::log_info`
[INFO] [stderr]   --> src/module/strategies/overseer/database/mod.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::log_info;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::util::database::Database`
[INFO] [stderr]   --> src/module/strategies/overseer/database/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::util::database::Database;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `color_eyre::Result`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | use color_eyre::Result;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `buffer::Buffer`, `crossterm::event::KeyCode`, and `prelude::*`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     buffer::Buffer,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 35 |     crossterm::event::KeyCode,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 36 |     prelude::*,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Path`, `any::Any`, and `fs`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     any::Any,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 40 |     fs,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 41 |     path::{Path, PathBuf},
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `log_debug`, `log_error`, and `log_info`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:47:13
[INFO] [stderr]    |
[INFO] [stderr] 47 | use crate::{log_debug, log_error, log_info};
[INFO] [stderr]    |             ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ConfigValidator` and `Module`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     ConfigValidator, Module,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `EditorAction`, `FieldValue`, `OverseerDatabase`, and `handler::installer::*`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:53:35
[INFO] [stderr]    |
[INFO] [stderr] 53 |     config_editor::{ConfigEditor, EditorAction, FieldValue},
[INFO] [stderr]    |                                   ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 54 |     database::{KnownDevice, OverseerDatabase},
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 55 |     handler::installer::*,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `event::AppEvent`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:59:56
[INFO] [stderr]    |
[INFO] [stderr] 59 |     io::{bus::MessageBus, discovery::DiscoveryManager, event::AppEvent},
[INFO] [stderr]    |                                                        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]   --> src/module/strategies/valve_control/handler/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::any::Any;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stderr]   --> src/module/strategies/valve_control/handler/mod.rs:14:14
[INFO] [stderr]    |
[INFO] [stderr] 14 |     module::{trait_module_handler::ModuleHandler},
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `any::Any`
[INFO] [stderr]   --> src/module/strategies/monitoring/handler/mod.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     any::Any,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `module::trait_module_handler::ModuleHandler`
[INFO] [stderr]   --> src/module/strategies/monitoring/handler/mod.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     module::trait_module_handler::ModuleHandler,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]  --> src/module/strategies/knowledge/mod.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::path::PathBuf;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `log_debug`
[INFO] [stderr]  --> src/module/strategies/council.rs:2:23
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::{log_info, log_debug};
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::module::config::*`
[INFO] [stderr]  --> src/module/config/validation/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::module::config::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `llm`, `monitoring`, and `valve_control`
[INFO] [stderr]   --> src/module/module_manager/initialize_module_handlers.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 |         strategies::{llm, monitoring, overseer, side_quest, valve_control},
[INFO] [stderr]    |                      ^^^  ^^^^^^^^^^                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stderr]   --> src/module/mod.rs:15:13
[INFO] [stderr]    |
[INFO] [stderr] 15 | use serde::{Deserialize, Serialize};
[INFO] [stderr]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::prelude::*`
[INFO] [stderr]   --> src/module/mod.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use ratatui::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]  --> src/util/knowledge.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use uuid::Uuid;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/util/io/serial.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `timeout`
[INFO] [stderr]  --> src/util/io/discovery.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 |     time::{timeout, Duration},
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CentralEvent` and `WriteType`
[INFO] [stderr]   --> src/util/io/discovery.rs:12:20
[INFO] [stderr]    |
[INFO] [stderr] 12 |     api::{Central, CentralEvent, Manager as _, Peripheral as _, ScanFilter, WriteType},
[INFO] [stderr]    |                    ^^^^^^^^^^^^                                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MessageType`, `SourceInfo`, and `Transport`
[INFO] [stderr]   --> src/util/io/discovery.rs:23:30
[INFO] [stderr]    |
[INFO] [stderr] 23 |         serial::{SspMessage, SourceInfo, Transport, MessageType},
[INFO] [stderr]    |                              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sleep_until`
[INFO] [stderr]  --> src/util/io/ble_scheduler.rs:8:38
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio::time::{Duration, Instant, sleep_until};
[INFO] [stderr]   |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OutputStreamHandle`
[INFO] [stderr]  --> src/util/audio/mod.rs:2:36
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rodio::{Decoder, OutputStream, OutputStreamHandle, Sink, Source};
[INFO] [stderr]   |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/util/llm.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Serialize`
[INFO] [stderr]   --> src/util/llm.rs:11:26
[INFO] [stderr]    |
[INFO] [stderr] 11 | use serde::{Deserialize, Serialize};
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Fn`
[INFO] [stderr]  --> src/util/string.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::Fn;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/ui/document/viewer/external/show_document_external.rs:47:29
[INFO] [stderr]    |
[INFO] [stderr] 21 |             "mp4" | "webm" | "ogg" | "ogv" | "avi" | "mov" | "mkv" => {
[INFO] [stderr]    |                              ----- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 47 |             "mp3" | "wav" | "ogg" | "oga" | "flac" | "m4a" | "aac" => {
[INFO] [stderr]    |                             ^^^^^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `ratatui::buffer::Buffer::get_mut`: Use Buffer[] or Buffer::cell_mut instead
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/chart_card/render_line_chart.rs:89:25
[INFO] [stderr]    |
[INFO] [stderr] 89 |                     buf.get_mut(x, y).set_symbol("•").set_style(style);
[INFO] [stderr]    |                         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]    --> src/app.rs:441:13
[INFO] [stderr]     |
[INFO] [stderr] 441 |         use std::io::Write;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io::AsyncBufReadExt`
[INFO] [stderr]  --> src/ui/document/manager/open_document.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use tokio::io::AsyncBufReadExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Stylize`
[INFO] [stderr]  --> src/ui/widgets/messages_window/widget.rs:5:27
[INFO] [stderr]   |
[INFO] [stderr] 5 |     style::{Color, Style, Stylize},
[INFO] [stderr]   |                           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Stylize`
[INFO] [stderr]  --> src/ui/widgets/module_detail/widget.rs:5:20
[INFO] [stderr]   |
[INFO] [stderr] 5 |     style::{Color, Stylize},
[INFO] [stderr]   |                    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stderr]  --> src/module/strategies/overseer/handler/handle_key.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     trait_module_handler::ModuleHandler,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `trait_module_handler::ModuleHandler`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     trait_module_handler::ModuleHandler,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `council`
[INFO] [stderr]    --> src/app.rs:660:29
[INFO] [stderr]     |
[INFO] [stderr] 660 |                 if let Some(ref council) = self.council_screen {
[INFO] [stderr]     |                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_council`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |         area: Rect,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/history_chart_card.rs:31:7
[INFO] [stderr]    |
[INFO] [stderr] 31 |       area: Rect,
[INFO] [stderr]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/history_chart_card.rs:32:7
[INFO] [stderr]    |
[INFO] [stderr] 32 |       buf: &mut Buffer,
[INFO] [stderr]    |       ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/status_badge_card.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         area: Rect,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/status_badge_card.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `status`
[INFO] [stderr]    --> src/ui/template/module_templates/monitoring/status_badge_card.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |             status,
[INFO] [stderr]     |             ^^^^^^ help: try ignoring the field: `status: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `status`
[INFO] [stderr]    --> src/ui/template/module_templates/monitoring/status_badge_card.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |             status,
[INFO] [stderr]     |             ^^^^^^ help: try ignoring the field: `status: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/chart_card/get_view_data.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         area: Rect,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/chart_card/get_view_data.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/com/activity_card.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `is_selected`
[INFO] [stderr]   --> src/ui/template/module_templates/knowledge/llm_card.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |         is_selected: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_selected`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]   --> src/ui/template/module_templates/knowledge/llm_card.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |         area: Rect,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/knowledge/llm_card.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]   --> src/ui/template/module_templates/system/overseer_card/get_view_data.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         area: Rect,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/system/overseer_card/get_view_data.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]   --> src/ui/template/module_templates/planning/side_quest_card/get_view_data.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |         area: Rect,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/ui/template/module_templates/planning/side_quest_card/get_view_data.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |         buf: &mut Buffer,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `overlay`
[INFO] [stderr]    --> src/ui/screens/splash/mod.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |         let overlay = Block::default()
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overlay`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `app`
[INFO] [stderr]    --> src/ui/screens/council/mod.rs:208:22
[INFO] [stderr]     |
[INFO] [stderr] 208 |     fn render_footer(app: &mut App, area: Rect, buf: &mut Buffer) {
[INFO] [stderr]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `advisor`
[INFO] [stderr]    --> src/ui/screens/council/mod.rs:234:29
[INFO] [stderr]     |
[INFO] [stderr] 234 |                 if let Some(advisor) = state.advisors.get(state.selected_advisor) {
[INFO] [stderr]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_advisor`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `intent_tx`
[INFO] [stderr]   --> src/ui/widgets/jukebox/actor.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |         let intent_tx = self.intent_tx.clone();
[INFO] [stderr]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_intent_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `player`
[INFO] [stderr]    --> src/ui/widgets/jukebox/actor.rs:101:21
[INFO] [stderr]     |
[INFO] [stderr] 101 |         if let Some(player) = &self.audio_player {
[INFO] [stderr]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `end_idx`
[INFO] [stderr]   --> src/ui/widgets/modules_list/widget.rs:96:17
[INFO] [stderr]    |
[INFO] [stderr] 96 |             let end_idx = (start_idx + MODULES_PER_ROW).min(displayable_count);
[INFO] [stderr]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `results` is never read
[INFO] [stderr]   --> src/module/strategies/llm/database/search_knowledge.rs:24:27
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let mut results = Vec::new();
[INFO] [stderr]    |                           ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 55 |             results = results.into_iter()
[INFO] [stderr]    |             ------- `results` is overwritten here before the previous value is read
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]   --> src/module/strategies/overseer/config_editor/from_manifest.rs:86:27
[INFO] [stderr]    |
[INFO] [stderr] 86 |             .filter_map(|(label, field, _)| {
[INFO] [stderr]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fields`
[INFO] [stderr]  --> src/module/strategies/overseer/config_editor/add_llm_fields.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |         fields: &mut Vec<(String, EditorField, FieldValue)>,
[INFO] [stderr]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_fields`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bindings`
[INFO] [stderr]  --> src/module/strategies/overseer/config_editor/add_llm_fields.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |         bindings: &HashMap<String, Value>
[INFO] [stderr]   |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bindings`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]   --> src/module/strategies/overseer/config_editor/to_full_config.rs:14:14
[INFO] [stderr]    |
[INFO] [stderr] 14 |         for (label, field, value) in &self.fields {
[INFO] [stderr]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `label`
[INFO] [stderr]   --> src/module/strategies/overseer/config_editor/to_bindings.rs:10:14
[INFO] [stderr]    |
[INFO] [stderr] 10 |         for (label, field, value) in &self.fields {
[INFO] [stderr]    |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value_width`
[INFO] [stderr]   --> src/module/strategies/overseer/config_editor/render.rs:66:17
[INFO] [stderr]    |
[INFO] [stderr] 66 |             let value_width = left_area.width.saturating_sub(22);
[INFO] [stderr]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_value_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mac`
[INFO] [stderr]   --> src/module/strategies/overseer/handler/installer/install_module.rs:17:45
[INFO] [stderr]    |
[INFO] [stderr] 17 |             InstallSource::DiscoveredDevice(mac) => Err(color_eyre::eyre::eyre!(
[INFO] [stderr]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_mac`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tx_char`
[INFO] [stderr]    --> src/util/io/discovery.rs:325:13
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let tx_char = chars.iter()
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_char`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sensor_value`
[INFO] [stderr]   --> src/module/strategies/valve_control/handler/process_messages.rs:18:65
[INFO] [stderr]    |
[INFO] [stderr] 18 |                 HandlerMessage::TelemetryReceived { valve_open, sensor_value } => {
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^ help: try ignoring the field: `sensor_value: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `handler`
[INFO] [stderr]    --> src/module/strategies/council.rs:294:43
[INFO] [stderr]     |
[INFO] [stderr] 294 |     async fn handle_advisor_status(&self, handler: &CouncilHandler, payload: &str) -> Result<(), color_eyre::Report> {
[INFO] [stderr]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/module/render_overview_cta.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let mut template = self.cached_template.take()
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/module/render_detail.rs:12:13
[INFO] [stderr]    |
[INFO] [stderr] 12 |         let mut template = self.cached_template.take()
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cache_dir`
[INFO] [stderr]    --> src/util/knowledge.rs:260:57
[INFO] [stderr]     |
[INFO] [stderr] 260 |     fn extract_pdf_with_images(&self, file_path: &Path, cache_dir: &Path) -> Result<(String, HashMap<String, String>)> {
[INFO] [stderr]     |                                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cache_dir`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `manager`
[INFO] [stderr]    --> src/util/io/transport.rs:376:13
[INFO] [stderr]     |
[INFO] [stderr] 376 |         let manager = TransportManager::new(bus.clone());
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager`
[INFO] [stderr] 
[INFO] [stderr] warning: methods `publish_event`, `render_widget_mode`, and `get_current_device_id` are never used
[INFO] [stderr]    --> src/app.rs:390:14
[INFO] [stderr]     |
[INFO] [stderr] 122 | impl App {
[INFO] [stderr]     | -------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 390 |     async fn publish_event(&self, topic: &str, payload: &str) {
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 680 |     fn render_widget_mode(&mut self, frame: &mut Frame) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 932 |     fn get_current_device_id(&self, source: &ModuleSource, module_idx: usize) -> Option<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `max_value`, `is_connected`, `warn_threshold`, and `danger_threshold` are never read
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/gauge_card.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct ViewData<'a> {
[INFO] [stderr]    |        -------- fields in this struct
[INFO] [stderr] 15 |     value: f64,
[INFO] [stderr] 16 |     max_value: f64,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 19 |     is_connected: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     warn_threshold: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 24 |     danger_threshold: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `b` and `c` are never read
[INFO] [stderr]   --> src/ui/template/module_templates/monitoring/chart_card/mod.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | struct ViewData<'a> {
[INFO] [stderr]    |        -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 26 |     b: f64, // telemetry data float
[INFO] [stderr]    |     ^
[INFO] [stderr] 27 |     c: i64, // telemetry data int
[INFO] [stderr]    |     ^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `state` and `border_color` are never read
[INFO] [stderr]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | struct ViewData<'a> {
[INFO] [stderr]    |        -------- fields in this struct
[INFO] [stderr] 16 |     state: bool,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     border_color: Color,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ToggleConfig` is never constructed
[INFO] [stderr]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | struct ToggleConfig<'a> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_bindings` is never used
[INFO] [stderr]   --> src/ui/template/module_templates/control/toggle_switch_card.rs:42:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl<'a> ToggleConfig<'a> {
[INFO] [stderr]    | ------------------------- associated function in this implementation
[INFO] [stderr] 42 |     fn from_bindings(bindings: &'a HashMap<String, Value>) -> Self {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_at_bottom` is never used
[INFO] [stderr]   --> src/ui/widgets/messages_window/widget.rs:97:8
[INFO] [stderr]    |
[INFO] [stderr] 38 | impl MessagesWidget {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 97 |     fn is_at_bottom(&self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `calculate_max_scroll` is never used
[INFO] [stderr]  --> src/module/strategies/llm/handler/chat_manager/calculate_max_scroll.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | impl ChatManager {
[INFO] [stderr]   | ---------------- method in this implementation
[INFO] [stderr] 4 |     pub fn calculate_max_scroll(&self, messages: &[String], visible_height: usize) -> usize {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `TrustedDevicesRefreshed` and `KnownDevicesRefreshed` are never constructed
[INFO] [stderr]   --> src/module/strategies/overseer/handler/mod.rs:94:5
[INFO] [stderr]    |
[INFO] [stderr] 92 | enum HandlerMessage {
[INFO] [stderr]    |      -------------- variants in this enum
[INFO] [stderr] 93 |     DevicesRefreshed(Vec<(String, String, i16)>),
[INFO] [stderr] 94 |     TrustedDevicesRefreshed(Vec<(String, String)>),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 95 |     KnownDevicesRefreshed(Vec<KnownDevice>),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HandlerMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `archive_path` is never read
[INFO] [stderr]   --> src/module/strategies/overseer/handler/installer/mod.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct ModuleInstaller {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 11 |     pub wasteland_path: PathBuf,
[INFO] [stderr] 12 |     pub archive_path: PathBuf,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `list_registry_manifests` is never used
[INFO] [stderr]  --> src/module/strategies/overseer/handler/list_registry_manifests.rs:4:36
[INFO] [stderr]   |
[INFO] [stderr] 3 | impl OverseerHandler {
[INFO] [stderr]   | -------------------- method in this implementation
[INFO] [stderr] 4 |     pub(in crate::module) async fn list_registry_manifests(&self) -> color_eyre::Result<Vec<RegistryManifest>> {
[INFO] [stderr]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_config_editor` is never used
[INFO] [stderr]  --> src/module/strategies/overseer/handler/get_config_editor.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 4 | impl OverseerHandler {
[INFO] [stderr]   | -------------------- method in this implementation
[INFO] [stderr] 5 |     pub(in crate::module) fn get_config_editor(&self) -> Option<&ConfigEditor> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `StateChanged` is never constructed
[INFO] [stderr]   --> src/module/strategies/valve_control/handler/mod.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | enum HandlerMessage {
[INFO] [stderr]    |      -------------- variant in this enum
[INFO] [stderr] 20 |     StateChanged(bool),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HandlerMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `database` is never read
[INFO] [stderr]   --> src/module/strategies/council.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct CouncilHandler {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 33 |     message_bus: crate::util::io::bus::MessageBus,
[INFO] [stderr] 34 |     database: crate::util::database::Database,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `chunk_text_with_images` and `extract_pdf_with_images` are never used
[INFO] [stderr]    --> src/util/knowledge.rs:177:8
[INFO] [stderr]     |
[INFO] [stderr]  25 | impl<'a> KnowledgeIngester<'a> {
[INFO] [stderr]     | ------------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 177 |     fn chunk_text_with_images(&self, content: &str, file_path: &Path, config: &ModuleConfig, metadata: String) -> Vec<KnowledgeChun...
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     fn extract_pdf_with_images(&self, file_path: &Path, cache_dir: &Path) -> Result<(String, HashMap<String, String>)> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_str` is never used
[INFO] [stderr]   --> src/util/io/serial.rs:72:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | impl Transport {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 72 |     fn from_str(s: &str) -> Self {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SURVON_SERVICE_UUID` is never used
[INFO] [stderr]   --> src/util/io/discovery.rs:31:7
[INFO] [stderr]    |
[INFO] [stderr] 31 | const SURVON_SERVICE_UUID: &str = "6e400001-b5a3-f393-e0a9-e50e24dcca9e";
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CompactRegistrationResponse` is never constructed
[INFO] [stderr]   --> src/util/io/discovery.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct CompactRegistrationResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CompactCapabilities` is never constructed
[INFO] [stderr]   --> src/util/io/discovery.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | struct CompactCapabilities {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_capabilities` is never used
[INFO] [stderr]   --> src/util/io/discovery.rs:63:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | impl CompactRegistrationResponse {
[INFO] [stderr]    | -------------------------------- method in this implementation
[INFO] [stderr] 63 |     fn to_capabilities(self) -> DeviceCapabilities {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `extract_one_json_message` and `is_trusted` are never used
[INFO] [stderr]    --> src/util/io/discovery.rs:579:8
[INFO] [stderr]     |
[INFO] [stderr] 130 | impl DiscoveryManager {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 579 |     fn extract_one_json_message(buffer: &str) -> Result<(String, String), String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 761 |     async fn is_trusted(&self, mac_address: &str) -> Result<bool> {
[INFO] [stderr]     |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `filename` is never used
[INFO] [stderr]   --> src/util/log.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl LogLevel {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 39 |     fn filename(&self) -> &str {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `log_dir` is never read
[INFO] [stderr]   --> src/util/log.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct Logger {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] 51 |     log_dir: PathBuf,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `service_type` is never read
[INFO] [stderr]   --> src/util/service/discovery.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | struct ServiceMetadata {
[INFO] [stderr]    |        --------------- field in this struct
[INFO] [stderr] 19 |     service_type: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ServiceMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `scan_pattern` is never read
[INFO] [stderr]   --> src/util/service/discovery.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct ServiceDiscovery {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] 33 |     scan_pattern: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui/widgets/jukebox/widget.rs:324:26
[INFO] [stderr]     |
[INFO] [stderr] 324 |     fn get_eq_visualizer(&self) -> Line {
[INFO] [stderr]     |                          ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 324 |     fn get_eq_visualizer(&self) -> Line<'_> {
[INFO] [stderr]     |                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui/widgets/module_detail/widget.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |         &self,
[INFO] [stderr]    |         ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 30 |     ) -> Block {
[INFO] [stderr]    |          ^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 30 |     ) -> Block<'_> {
[INFO] [stderr]    |               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui/components/empty_message.rs:10:32
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn empty_message(text: &str, border_color: Option<Color>) -> Paragraph {
[INFO] [stderr]    |                                ^^^^ the lifetime is elided here      ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn empty_message(text: &str, border_color: Option<Color>) -> Paragraph<'_> {
[INFO] [stderr]    |                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui/components/help.rs:10:23
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn help(text: &str) -> Paragraph {
[INFO] [stderr]    |                       ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn help(text: &str) -> Paragraph<'_> {
[INFO] [stderr]    |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui/components/is_scanning.rs:10:40
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn is_scanning(scan_countdown: &u8) -> Paragraph {
[INFO] [stderr]    |                                        ^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                        |
[INFO] [stderr]    |                                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn is_scanning(scan_countdown: &u8) -> Paragraph<'_> {
[INFO] [stderr]    |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui/components/status.rs:10:27
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn status(status: &str) -> Paragraph {
[INFO] [stderr]    |                           ^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn status(status: &str) -> Paragraph<'_> {
[INFO] [stderr]    |                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: method `_llm__init_schema` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/llm/database/init_llm_schema.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 |     pub(in crate::module) fn _llm__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_init_schema`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `_llm__insert_chat_message` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/llm/database/insert_chat_message.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub(in crate::module) fn _llm__insert_chat_message(&self, message: ChatMessage) -> rusqlite::Result<i64> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_insert_chat_message`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_llm__get_chat_history` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/llm/database/get_chat_history.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub(in crate::module) fn _llm__get_chat_history(&self, session_id: &str, limit: usize) -> rusqlite::Result<Vec<ChatMessage>> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_get_chat_history`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_llm__insert_knowledge_chunk` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/llm/database/insert_knowledge_chunk.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub(in crate::module) fn _llm__insert_knowledge_chunk(&self, chunk: KnowledgeChunk) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_insert_knowledge_chunk`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_llm__search_knowledge` should have a snake case name
[INFO] [stderr]   --> src/module/strategies/llm/database/search_knowledge.rs:12:30
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub(in crate::module) fn _llm__search_knowledge(&self, query: &str, domains: &[String], limit: usize) -> rusqlite::Result<Vec<Kn...
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_search_knowledge`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_llm__clear_knowledge` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/llm/database/clear_knowledge.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 |     pub(in crate::module) fn _llm__clear_knowledge(&self) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_llm_clear_knowledge`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__init_schema` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/init_schema.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub(in crate::module) fn _overseer__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_init_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__record_device_discovery` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/record_device_discovery.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub(in crate::module) fn _overseer__record_device_discovery(
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_record_device_discovery`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__update_device_metadata` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/update_device_metadata.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub(in crate::module) fn _overseer__update_device_metadata(
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_update_device_metadata`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__is_device_trusted` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/is_device_trusted.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 |     pub(in crate::module) fn _overseer__is_device_trusted(&self, mac_address: &str) -> rusqlite::Result<bool> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_is_device_trusted`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__set_device_trust` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/set_device_trust.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 |     pub(in crate::module) fn _overseer__set_device_trust(&self, mac_address: &str, trusted: bool) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_set_device_trust`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__trust_device` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/trust_device.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub(in crate::module) fn _overseer__trust_device(&self, mac_address: &str, device_name: &str) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_trust_device`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__get_trusted_devices` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/get_trusted_devices.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 |     pub(in crate::module) fn _overseer__get_trusted_devices(&self) -> rusqlite::Result<Vec<(String, String)>> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_get_trusted_devices`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__get_all_known_devices` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/get_all_known_devices.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub(in crate::module) fn _overseer__get_all_known_devices(&self) -> rusqlite::Result<Vec<KnownDevice>> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_get_all_known_devices`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_overseer__delete_device` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/overseer/database/delete_device.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 |     pub(in crate::module) fn _overseer__delete_device(&self, mac_address: &str) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_overseer_delete_device`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_side_quest__init_schema` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/side_quest/database/init_schema.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 |     pub(in crate::module) fn _side_quest__init_schema(&self) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_init_schema`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_side_quest__create_side_quest` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/side_quest/database/create_side_quest.rs:9:30
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub(in crate::module) fn _side_quest__create_side_quest(
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_create_side_quest`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_side_quest__get_active_side_quests` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/side_quest/database/get_active_side_quests.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub(in crate::module) fn _side_quest__get_active_side_quests(&self) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_active_side_quests`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_side_quest__complete_side_quest` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/side_quest/database/complete_side_quest.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub(in crate::module) fn _side_quest__complete_side_quest(&self, quest_id: i64) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_complete_side_quest`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_side_quest__delete_side_quest` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/side_quest/database/delete_side_quest.rs:6:30
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub(in crate::module) fn _side_quest__delete_side_quest(&self, quest_id: i64) -> rusqlite::Result<()> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_delete_side_quest`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_side_quest__get_quests_by_topic` should have a snake case name
[INFO] [stderr]  --> src/module/strategies/side_quest/database/get_quests_by_topic.rs:8:30
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub(in crate::module) fn _side_quest__get_quests_by_topic(&self, topic: &str) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stderr]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_quests_by_topic`
[INFO] [stderr] 
[INFO] [stderr] warning: method `_side_quest__get_quests_with_deadlines` should have a snake case name
[INFO] [stderr]   --> src/module/strategies/side_quest/database/get_quests_with_deadlines.rs:10:30
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub(in crate::module) fn _side_quest__get_quests_with_deadlines(&self, days_ahead: i64) -> rusqlite::Result<Vec<SideQuest>> {
[INFO] [stderr]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `_side_quest_get_quests_with_deadlines`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/module/strategies/council.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 56 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr] 57 | |             "council.init".to_string(),
[INFO] [stderr] 58 | |             serde_json::json!({
[INFO] [stderr] 59 | |                 "advisors": device_ids,
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |             "survon_tui".to_string(),
[INFO] [stderr] 66 | |         )).await;
[INFO] [stderr]    | |________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/module/strategies/council.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 | /             self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr] 143 | |                 "council.response".to_string(),
[INFO] [stderr] 144 | |                 serde_json::json!({
[INFO] [stderr] 145 | |                     "advisor": advisor,
[INFO] [stderr] ...   |
[INFO] [stderr] 153 | |                 "survon_tui".to_string(),
[INFO] [stderr] 154 | |             )).await;
[INFO] [stderr]     | |____________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 142 |             let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/module/strategies/council.rs:161:9
[INFO] [stderr]     |
[INFO] [stderr] 161 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr] 162 | |             "council.response".to_string(),
[INFO] [stderr] 163 | |             serde_json::json!({
[INFO] [stderr] 164 | |                 "advisor": advisor,
[INFO] [stderr] ...   |
[INFO] [stderr] 173 | |             "survon_tui".to_string(),
[INFO] [stderr] 174 | |         )).await;
[INFO] [stderr]     | |________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 161 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/module/strategies/council.rs:190:9
[INFO] [stderr]     |
[INFO] [stderr] 190 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr] 191 | |             "council.response".to_string(),
[INFO] [stderr] 192 | |             serde_json::json!({
[INFO] [stderr] 193 | |                 "advisor": advisor,
[INFO] [stderr] ...   |
[INFO] [stderr] 201 | |             "survon_tui".to_string(),
[INFO] [stderr] 202 | |         )).await;
[INFO] [stderr]     | |________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 190 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/module/strategies/council.rs:208:9
[INFO] [stderr]     |
[INFO] [stderr] 208 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr] 209 | |             "council.response".to_string(),
[INFO] [stderr] 210 | |             serde_json::json!({
[INFO] [stderr] 211 | |                 "advisor": advisor,
[INFO] [stderr] ...   |
[INFO] [stderr] 219 | |             "survon_tui".to_string(),
[INFO] [stderr] 220 | |         )).await;
[INFO] [stderr]     | |________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 208 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/module/strategies/council.rs:226:9
[INFO] [stderr]     |
[INFO] [stderr] 226 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr] 227 | |             "council.response".to_string(),
[INFO] [stderr] 228 | |             serde_json::json!({
[INFO] [stderr] 229 | |                 "advisor": advisor,
[INFO] [stderr] ...   |
[INFO] [stderr] 237 | |             "survon_tui".to_string(),
[INFO] [stderr] 238 | |         )).await;
[INFO] [stderr]     | |________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 226 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/module/strategies/council.rs:244:9
[INFO] [stderr]     |
[INFO] [stderr] 244 | /         self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr] 245 | |             "council.response".to_string(),
[INFO] [stderr] 246 | |             serde_json::json!({
[INFO] [stderr] 247 | |                 "advisor": advisor,
[INFO] [stderr] ...   |
[INFO] [stderr] 255 | |             "survon_tui".to_string(),
[INFO] [stderr] 256 | |         )).await;
[INFO] [stderr]     | |________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 244 |         let _ = self.message_bus.publish(crate::util::io::bus::BusMessage::new(
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `runtime-base-rust` (bin "runtime-base-rust" test) generated 173 warnings (run `cargo fix --bin "runtime-base-rust" -p runtime-base-rust --tests` to apply 108 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.01s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: pdf v0.8.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/runtime_base_rust-4b1ab18b40941d1e)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test module::strategies::council::tests::test_council_bindings_creation ... ok
[INFO] [stdout] test module::strategies::council::tests::test_council_command_serialization ... ok
[INFO] [stdout] test module::strategies::council::tests::test_council_config_creation ... ok
[INFO] [stdout] test module::config::validation::tests::test_invalid_thresholds ... ok
[INFO] [stdout] test module::config::validation::tests::test_valid_monitoring_config ... ok
[INFO] [stdout] test module::strategies::council::tests::test_council_response_serialization ... ok
[INFO] [stdout] test ui::style::tests::test_color_detection ... ok
[INFO] [stdout] test module::strategies::council::tests::test_council_multiple_advisor_handling ... ok
[INFO] [stdout] test module::strategies::council::tests::test_council_message_serialization ... ok
[INFO] [stdout] test util::io::transport::tests::test_ssp_roundtrip ... ok
[INFO] [stdout] test module::config::validation::tests::test_unsupported_module_type ... FAILED
[INFO] [stdout] test util::io::ble_scheduler::tests::test_priority_sorting ... FAILED
[INFO] [stdout] test util::io::ble_scheduler::tests::test_command_queueing ... FAILED
[INFO] [stdout] test util::log::tests::test_logger_creation ... FAILED
[INFO] [stdout] test util::io::ble_scheduler::tests::test_schedule_parsing ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- module::config::validation::tests::test_unsupported_module_type stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'module::config::validation::tests::test_unsupported_module_type' (20) panicked at src/module/config/validation/mod.rs:75:9:
[INFO] [stdout] assertion failed: result.is_err()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x605ffe00b2aa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x605ffe00b2aa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x605ffe020f8a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x605ffe020f8a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x605ffe00fd92 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x605ffe00fd92 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x605ffdfe829f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x605ffdfe829f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x605ffe0026b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x605ffde29a2c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x605ffde29a2c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x605ffe002932 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x605ffe002932 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x605ffdfe838a - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x605ffdfdfa99 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x605ffdfe906d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x605ffe02177c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x605ffe021742 - core[35159d6ffb30e017]::panicking::panic
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x605ffddb5fae - runtime_base_rust[e4ffddaa8c50a44d]::module::config::validation::tests::test_unsupported_module_type
[INFO] [stdout]                                at /opt/rustwide/workdir/src/module/config/validation/mod.rs:75:9
[INFO] [stdout]   21:     0x605ffddb40d7 - runtime_base_rust[e4ffddaa8c50a44d]::module::config::validation::tests::test_unsupported_module_type::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/module/config/validation/mod.rs:65:38
[INFO] [stdout]   22:     0x605ffddbf576 - <runtime_base_rust[e4ffddaa8c50a44d]::module::config::validation::tests::test_unsupported_module_type::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x605ffde1cd0b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x605ffde1cd0b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x605ffde2a4fb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x605ffde2a4fb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x605ffde24ed4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x605ffde24ed4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x605ffde2d102 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x605ffde2d102 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x605ffde2d102 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x605ffe00a52f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x605ffe00a52f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x70d109e4daa4 - <unknown>
[INFO] [stdout]   44:     0x70d109edaa64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::io::ble_scheduler::tests::test_priority_sorting stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::io::ble_scheduler::tests::test_priority_sorting' (30) panicked at src/util/log.rs:17:27:
[INFO] [stdout] Failed to initialize logger: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x605ffe00b2aa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x605ffe00b2aa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x605ffe020f8a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x605ffe020f8a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x605ffe00fd92 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x605ffe00fd92 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x605ffdfe829f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x605ffdfe829f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x605ffe0026b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x605ffde29a2c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x605ffde29a2c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x605ffe002932 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x605ffe002932 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x605ffdfe8358 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x605ffdfdfa99 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x605ffdfe906d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x605ffe02177c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x605ffe0214c2 - core[35159d6ffb30e017]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x605ffdd5bdec - <core[35159d6ffb30e017]::result::Result<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger, std[ec419fa8110287d5]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x605ffdda63ab - runtime_base_rust[e4ffddaa8c50a44d]::util::log::LOGGER::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/log.rs:17:27
[INFO] [stdout]   22:     0x605ffddbf1f6 - <runtime_base_rust[e4ffddaa8c50a44d]::util::log::LOGGER::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x605ffddbebf2 - <fn() -> runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x605ffdd3dac4 - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:250:25
[INFO] [stdout]   25:     0x605ffdd454ba - <std[ec419fa8110287d5]::sync::once::Once>::call_once_force::<<std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/once.rs:226:40
[INFO] [stdout]   26:     0x605ffdfed579 - <std[ec419fa8110287d5]::sys::sync::once::futex::Once>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/sync/once/futex.rs:183:21
[INFO] [stdout]   27:     0x605ffdd4130b - <std[ec419fa8110287d5]::sync::once::Once>::call_once_force::<<std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/once.rs:226:20
[INFO] [stdout]   28:     0x605ffdd4006d - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:242:19
[INFO] [stdout]   29:     0x605ffdd4006d - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger> as core[35159d6ffb30e017]::ops::deref::Deref>::deref
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:357:9
[INFO] [stdout]   30:     0x605ffdd6fd26 - <runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::BleCommandScheduler>::queue_command::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/log.rs:147:9
[INFO] [stdout]   31:     0x605ffdd77897 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_priority_sorting::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:526:12
[INFO] [stdout]   32:     0x605ffdd6cbc2 - <core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>> as core[35159d6ffb30e017]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/future/future.rs:133:9
[INFO] [stdout]   33:     0x605ffdd6cc3d - <core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>> as core[35159d6ffb30e017]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/future/future.rs:133:9
[INFO] [stdout]   34:     0x605ffdd4731d - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   35:     0x605ffdd4721b - tokio[3dfcd20043230ea1]::task::coop::with_budget::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   36:     0x605ffdd4721b - tokio[3dfcd20043230ea1]::task::coop::budget::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   37:     0x605ffdd4721b - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   38:     0x605ffdd41800 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Context>::enter::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   39:     0x605ffdd465ad - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   40:     0x605ffdd458a4 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   41:     0x605ffdd2bc6b - <tokio[3dfcd20043230ea1]::runtime::context::scoped::Scoped<tokio[3dfcd20043230ea1]::runtime::scheduler::Context>>::set::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   42:     0x605ffddb3f89 - tokio[3dfcd20043230ea1]::runtime::context::set_scheduler::<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   43:     0x605ffdd95d72 - <std[ec419fa8110287d5]::thread::local::LocalKey<tokio[3dfcd20043230ea1]::runtime::context::Context>>::try_with::<tokio[3dfcd20043230ea1]::runtime::context::set_scheduler<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   44:     0x605ffdd958fe - <std[ec419fa8110287d5]::thread::local::LocalKey<tokio[3dfcd20043230ea1]::runtime::context::Context>>::with::<tokio[3dfcd20043230ea1]::runtime::context::set_scheduler<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   45:     0x605ffddb356d - tokio[3dfcd20043230ea1]::runtime::context::set_scheduler::<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   46:     0x605ffdd43940 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   47:     0x605ffdd43c36 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   48:     0x605ffdd452b0 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   49:     0x605ffdd4b153 - tokio[3dfcd20043230ea1]::runtime::context::runtime::enter_runtime::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   50:     0x605ffdd41181 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   51:     0x605ffdd2b7f4 - <tokio[3dfcd20043230ea1]::runtime::runtime::Runtime>::block_on_inner::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   52:     0x605ffdd2b9bf - <tokio[3dfcd20043230ea1]::runtime::runtime::Runtime>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   53:     0x605ffdd7aee0 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_priority_sorting
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:542:60
[INFO] [stdout]   54:     0x605ffdd768b7 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_priority_sorting::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:516:37
[INFO] [stdout]   55:     0x605ffddbf2f6 - <runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_priority_sorting::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   56:     0x605ffde1cd0b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   57:     0x605ffde1cd0b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   58:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   59:     0x605ffde2a4fb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   60:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   61:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   62:     0x605ffde2a4fb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   63:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   64:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   65:     0x605ffde24ed4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   66:     0x605ffde24ed4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   67:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   68:     0x605ffde2d102 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   69:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   70:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   71:     0x605ffde2d102 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   72:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   73:     0x605ffde2d102 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   74:     0x605ffe00a52f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   75:     0x605ffe00a52f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   76:     0x70d109e4daa4 - <unknown>
[INFO] [stdout]   77:     0x70d109edaa64 - clone
[INFO] [stdout]   78:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::io::ble_scheduler::tests::test_command_queueing stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::io::ble_scheduler::tests::test_command_queueing' (29) panicked at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:415:5:
[INFO] [stdout] LazyLock instance has previously been poisoned
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x605ffe00b2aa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x605ffe00b2aa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x605ffe020f8a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x605ffe020f8a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x605ffe00fd92 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x605ffe00fd92 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x605ffdfe829f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x605ffdfe829f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x605ffe0026b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x605ffde29a2c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x605ffde29a2c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x605ffe002932 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x605ffe002932 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x605ffdfe838a - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x605ffdfdfa99 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x605ffdfe906d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x605ffe02177c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x605ffe00378d - std[ec419fa8110287d5]::sync::lazy_lock::panic_poisoned
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:415:5
[INFO] [stdout]   20:     0x605ffdd3db14 - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:244:17
[INFO] [stdout]   21:     0x605ffdd454ba - <std[ec419fa8110287d5]::sync::once::Once>::call_once_force::<<std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/once.rs:226:40
[INFO] [stdout]   22:     0x605ffdfed579 - <std[ec419fa8110287d5]::sys::sync::once::futex::Once>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/sync/once/futex.rs:183:21
[INFO] [stdout]   23:     0x605ffdd4130b - <std[ec419fa8110287d5]::sync::once::Once>::call_once_force::<<std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/once.rs:226:20
[INFO] [stdout]   24:     0x605ffdd4006d - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:242:19
[INFO] [stdout]   25:     0x605ffdd4006d - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger> as core[35159d6ffb30e017]::ops::deref::Deref>::deref
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:357:9
[INFO] [stdout]   26:     0x605ffdd6fd26 - <runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::BleCommandScheduler>::queue_command::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/log.rs:147:9
[INFO] [stdout]   27:     0x605ffdd76eb1 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_command_queueing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:508:38
[INFO] [stdout]   28:     0x605ffdd6cbc2 - <core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>> as core[35159d6ffb30e017]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/future/future.rs:133:9
[INFO] [stdout]   29:     0x605ffdd6cc3d - <core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>> as core[35159d6ffb30e017]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/future/future.rs:133:9
[INFO] [stdout]   30:     0x605ffdd4731d - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   31:     0x605ffdd4721b - tokio[3dfcd20043230ea1]::task::coop::with_budget::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   32:     0x605ffdd4721b - tokio[3dfcd20043230ea1]::task::coop::budget::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   33:     0x605ffdd4721b - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   34:     0x605ffdd41800 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Context>::enter::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   35:     0x605ffdd465ad - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   36:     0x605ffdd458a4 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   37:     0x605ffdd2bc6b - <tokio[3dfcd20043230ea1]::runtime::context::scoped::Scoped<tokio[3dfcd20043230ea1]::runtime::scheduler::Context>>::set::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   38:     0x605ffddb3f89 - tokio[3dfcd20043230ea1]::runtime::context::set_scheduler::<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   39:     0x605ffdd95d72 - <std[ec419fa8110287d5]::thread::local::LocalKey<tokio[3dfcd20043230ea1]::runtime::context::Context>>::try_with::<tokio[3dfcd20043230ea1]::runtime::context::set_scheduler<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   40:     0x605ffdd958fe - <std[ec419fa8110287d5]::thread::local::LocalKey<tokio[3dfcd20043230ea1]::runtime::context::Context>>::with::<tokio[3dfcd20043230ea1]::runtime::context::set_scheduler<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   41:     0x605ffddb356d - tokio[3dfcd20043230ea1]::runtime::context::set_scheduler::<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   42:     0x605ffdd43940 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   43:     0x605ffdd43c36 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   44:     0x605ffdd452b0 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   45:     0x605ffdd4b153 - tokio[3dfcd20043230ea1]::runtime::context::runtime::enter_runtime::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   46:     0x605ffdd41181 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   47:     0x605ffdd2b7f4 - <tokio[3dfcd20043230ea1]::runtime::runtime::Runtime>::block_on_inner::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   48:     0x605ffdd2b9bf - <tokio[3dfcd20043230ea1]::runtime::runtime::Runtime>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   49:     0x605ffdd7ad20 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_command_queueing
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:512:35
[INFO] [stdout]   50:     0x605ffdd76887 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_command_queueing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:497:37
[INFO] [stdout]   51:     0x605ffddbf2b6 - <runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_command_queueing::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   52:     0x605ffde1cd0b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x605ffde1cd0b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   54:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   55:     0x605ffde2a4fb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   56:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   57:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   58:     0x605ffde2a4fb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   59:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   60:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   61:     0x605ffde24ed4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   62:     0x605ffde24ed4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   63:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   64:     0x605ffde2d102 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   65:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   66:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   67:     0x605ffde2d102 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   68:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   69:     0x605ffde2d102 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   70:     0x605ffe00a52f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   71:     0x605ffe00a52f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   72:     0x70d109e4daa4 - <unknown>
[INFO] [stdout]   73:     0x70d109edaa64 - clone
[INFO] [stdout]   74:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::log::tests::test_logger_creation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::log::tests::test_logger_creation' (33) panicked at src/util/log.rs:170:44:
[INFO] [stdout] Failed to create logger: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x605ffe00b2aa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x605ffe00b2aa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x605ffe020f8a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x605ffe020f8a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x605ffe00fd92 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x605ffe00fd92 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x605ffdfe829f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x605ffdfe829f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x605ffe0026b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x605ffde29a2c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x605ffde29a2c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x605ffe002932 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x605ffe002932 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x605ffdfe8358 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x605ffdfdfa99 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x605ffdfe906d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x605ffe02177c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x605ffe0214c2 - core[35159d6ffb30e017]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x605ffdd5bdec - <core[35159d6ffb30e017]::result::Result<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger, std[ec419fa8110287d5]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x605ffdd5c42c - runtime_base_rust[e4ffddaa8c50a44d]::util::log::tests::test_logger_creation
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/log.rs:170:44
[INFO] [stdout]   22:     0x605ffdd5b957 - runtime_base_rust[e4ffddaa8c50a44d]::util::log::tests::test_logger_creation::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/log.rs:168:30
[INFO] [stdout]   23:     0x605ffddbf276 - <runtime_base_rust[e4ffddaa8c50a44d]::util::log::tests::test_logger_creation::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x605ffde1cd0b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x605ffde1cd0b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x605ffde2a4fb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x605ffde2a4fb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x605ffde24ed4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x605ffde24ed4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x605ffde2d102 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x605ffde2d102 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x605ffde2d102 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x605ffe00a52f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x605ffe00a52f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x70d109e4daa4 - <unknown>
[INFO] [stdout]   45:     0x70d109edaa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- util::io::ble_scheduler::tests::test_schedule_parsing stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'util::io::ble_scheduler::tests::test_schedule_parsing' (31) panicked at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:415:5:
[INFO] [stdout] LazyLock instance has previously been poisoned
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x605ffe00b2aa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x605ffe00b2aa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x605ffe00b2aa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x605ffe020f8a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x605ffe020f8a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x605ffe00fd92 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x605ffe00fd92 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x605ffdfe829f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x605ffdfe829f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x605ffe0026b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x605ffde29a2c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x605ffde29a2c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x605ffe002932 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x605ffe002932 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x605ffdfe838a - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x605ffdfdfa99 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x605ffdfe906d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x605ffe02177c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x605ffe00378d - std[ec419fa8110287d5]::sync::lazy_lock::panic_poisoned
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:415:5
[INFO] [stdout]   20:     0x605ffdd3db14 - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:244:17
[INFO] [stdout]   21:     0x605ffdd454ba - <std[ec419fa8110287d5]::sync::once::Once>::call_once_force::<<std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/once.rs:226:40
[INFO] [stdout]   22:     0x605ffdfed579 - <std[ec419fa8110287d5]::sys::sync::once::futex::Once>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/sync/once/futex.rs:183:21
[INFO] [stdout]   23:     0x605ffdd4130b - <std[ec419fa8110287d5]::sync::once::Once>::call_once_force::<<std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force::{closure#0}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/once.rs:226:20
[INFO] [stdout]   24:     0x605ffdd4006d - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger>>::force
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:242:19
[INFO] [stdout]   25:     0x605ffdd4006d - <std[ec419fa8110287d5]::sync::lazy_lock::LazyLock<runtime_base_rust[e4ffddaa8c50a44d]::util::log::Logger> as core[35159d6ffb30e017]::ops::deref::Deref>::deref
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sync/lazy_lock.rs:357:9
[INFO] [stdout]   26:     0x605ffdd763c4 - <runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::BleCommandScheduler>::update_schedule_from_telemetry::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/log.rs:147:9
[INFO] [stdout]   27:     0x605ffdd78bb2 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_schedule_parsing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:487:11
[INFO] [stdout]   28:     0x605ffdd6cbc2 - <core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>> as core[35159d6ffb30e017]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/future/future.rs:133:9
[INFO] [stdout]   29:     0x605ffdd6cc3d - <core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>> as core[35159d6ffb30e017]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/future/future.rs:133:9
[INFO] [stdout]   30:     0x605ffdd4731d - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   31:     0x605ffdd4721b - tokio[3dfcd20043230ea1]::task::coop::with_budget::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   32:     0x605ffdd4721b - tokio[3dfcd20043230ea1]::task::coop::budget::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   33:     0x605ffdd4721b - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   34:     0x605ffdd41800 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Context>::enter::<core[35159d6ffb30e017]::task::poll::Poll<()>, <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   35:     0x605ffdd465ad - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   36:     0x605ffdd458a4 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   37:     0x605ffdd2bc6b - <tokio[3dfcd20043230ea1]::runtime::context::scoped::Scoped<tokio[3dfcd20043230ea1]::runtime::scheduler::Context>>::set::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   38:     0x605ffddb3f89 - tokio[3dfcd20043230ea1]::runtime::context::set_scheduler::<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   39:     0x605ffdd95d72 - <std[ec419fa8110287d5]::thread::local::LocalKey<tokio[3dfcd20043230ea1]::runtime::context::Context>>::try_with::<tokio[3dfcd20043230ea1]::runtime::context::set_scheduler<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   40:     0x605ffdd958fe - <std[ec419fa8110287d5]::thread::local::LocalKey<tokio[3dfcd20043230ea1]::runtime::context::Context>>::with::<tokio[3dfcd20043230ea1]::runtime::context::set_scheduler<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   41:     0x605ffddb356d - tokio[3dfcd20043230ea1]::runtime::context::set_scheduler::<(alloc[a8a7aba520129d98]::boxed::Box<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::Core>, core[35159d6ffb30e017]::option::Option<()>), <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   42:     0x605ffdd43940 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>::{closure#0}, core[35159d6ffb30e017]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   43:     0x605ffdd43c36 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   44:     0x605ffdd452b0 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   45:     0x605ffdd4b153 - tokio[3dfcd20043230ea1]::runtime::context::runtime::enter_runtime::<<tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   46:     0x605ffdd41181 - <tokio[3dfcd20043230ea1]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   47:     0x605ffdd2b7f4 - <tokio[3dfcd20043230ea1]::runtime::runtime::Runtime>::block_on_inner::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   48:     0x605ffdd2b9bf - <tokio[3dfcd20043230ea1]::runtime::runtime::Runtime>::block_on::<core[35159d6ffb30e017]::pin::Pin<&mut dyn core[35159d6ffb30e017]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   49:     0x605ffdd7b0a0 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_schedule_parsing
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:493:60
[INFO] [stdout]   50:     0x605ffdd768e7 - runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_schedule_parsing::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/util/io/ble_scheduler.rs:475:37
[INFO] [stdout]   51:     0x605ffddbf336 - <runtime_base_rust[e4ffddaa8c50a44d]::util::io::ble_scheduler::tests::test_schedule_parsing::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   52:     0x605ffde1cd0b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x605ffde1cd0b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   54:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   55:     0x605ffde2a4fb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   56:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   57:     0x605ffde2a4fb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   58:     0x605ffde2a4fb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   59:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   60:     0x605ffde2a4fb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   61:     0x605ffde24ed4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   62:     0x605ffde24ed4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   63:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   64:     0x605ffde2d102 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   65:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   66:     0x605ffde2d102 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   67:     0x605ffde2d102 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   68:     0x605ffde2d102 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   69:     0x605ffde2d102 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   70:     0x605ffe00a52f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   71:     0x605ffe00a52f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   72:     0x70d109e4daa4 - <unknown>
[INFO] [stdout]   73:     0x70d109edaa64 - clone
[INFO] [stdout]   74:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     module::config::validation::tests::test_unsupported_module_type
[INFO] [stdout]     util::io::ble_scheduler::tests::test_command_queueing
[INFO] [stdout]     util::io::ble_scheduler::tests::test_priority_sorting
[INFO] [stdout]     util::io::ble_scheduler::tests::test_schedule_parsing
[INFO] [stdout]     util::log::tests::test_logger_creation
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 10 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.27s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin runtime-base-rust`
[INFO] running `Command { std: "docker" "inspect" "efb64a99ef1cbd38d5de677369d68b1b218c4a5d97ecd9de9578bcd0c29f1f2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efb64a99ef1cbd38d5de677369d68b1b218c4a5d97ecd9de9578bcd0c29f1f2d", kill_on_drop: false }`
[INFO] [stdout] efb64a99ef1cbd38d5de677369d68b1b218c4a5d97ecd9de9578bcd0c29f1f2d
