[INFO] fetching crate glowbarn 2.0.0... [INFO] checking glowbarn-2.0.0 against try#6284d7b4bd27983dba388146648ab844ca7d032f for pr-152971 [INFO] extracting crate glowbarn 2.0.0 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate glowbarn 2.0.0 [INFO] finished tweaking crates.io crate glowbarn 2.0.0 [INFO] tweaked toml for crates.io crate glowbarn 2.0.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate glowbarn 2.0.0 on toolchain 6284d7b4bd27983dba388146648ab844ca7d032f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate glowbarn 2.0.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5a2f5b240dd064952837a913d2775a2b26b8e9e22ebf346cc12f899c1d3a90b9 [INFO] running `Command { std: "docker" "start" "-a" "5a2f5b240dd064952837a913d2775a2b26b8e9e22ebf346cc12f899c1d3a90b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5a2f5b240dd064952837a913d2775a2b26b8e9e22ebf346cc12f899c1d3a90b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a2f5b240dd064952837a913d2775a2b26b8e9e22ebf346cc12f899c1d3a90b9", kill_on_drop: false }` [INFO] [stdout] 5a2f5b240dd064952837a913d2775a2b26b8e9e22ebf346cc12f899c1d3a90b9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8afc6e2006db802d854ff0054fc521353bb772df2d22a7c9f13c52b1dca2417d [INFO] running `Command { std: "docker" "start" "-a" "8afc6e2006db802d854ff0054fc521353bb772df2d22a7c9f13c52b1dca2417d", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling find-msvc-tools v0.1.8 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling cc v1.2.54 [INFO] [stderr] Checking libloading v0.8.9 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling wayland-sys v0.31.8 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling wayland-backend v0.3.12 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Compiling wayland-client v0.31.12 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Checking bytes v1.11.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Compiling wayland-scanner v0.31.8 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking litemap v0.8.1 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking writeable v0.6.2 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.2 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Checking cpufeatures v0.2.17 [INFO] [stderr] Checking percent-encoding v2.3.2 [INFO] [stderr] Checking itoa v1.0.17 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Compiling xml-rs v0.8.28 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking form_urlencoded v1.2.2 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking xcursor v0.3.10 [INFO] [stderr] Checking cursor-icon v1.2.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking rustls-pki-types v1.14.0 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking memmap2 v0.9.9 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.10 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking ecolor v0.25.0 [INFO] [stderr] Checking emath v0.25.0 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Checking owned_ttf_parser v0.25.1 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Checking ab_glyph v0.2.32 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.18.1 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Checking epaint v0.25.0 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking calloop v0.14.3 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking wayland-cursor v0.31.12 [INFO] [stderr] Checking wayland-protocols v0.32.10 [INFO] [stderr] Checking wayland-protocols v0.31.2 [INFO] [stderr] Checking calloop v0.12.4 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Compiling glutin_egl_sys v0.6.0 [INFO] [stderr] Compiling glutin_glx_sys v0.5.0 [INFO] [stderr] Checking calloop-wayland-source v0.2.0 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Compiling winit v0.29.15 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Compiling smithay-client-toolkit v0.20.0 [INFO] [stderr] Compiling rustls v0.22.4 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking raw-window-handle v0.5.2 [INFO] [stderr] Checking glow v0.13.1 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Compiling ash v0.37.3+1.3.251 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking egui v0.25.0 [INFO] [stderr] Checking calloop-wayland-source v0.4.1 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking rustls-webpki v0.102.8 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking gpu-descriptor-types v0.1.2 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking wayland-protocols-wlr v0.2.0 [INFO] [stderr] Checking wayland-protocols-plasma v0.2.0 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Compiling wgpu-hal v0.19.5 [INFO] [stderr] Compiling glutin v0.31.3 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking unicode-xid v0.2.6 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking naga v0.19.2 [INFO] [stderr] Compiling zmij v1.0.16 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking gpu-descriptor v0.2.4 [INFO] [stderr] Checking wayland-protocols-misc v0.3.10 [INFO] [stderr] Checking wayland-protocols-experimental v20250721.0.1 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.10 [INFO] [stderr] Checking flate2 v1.1.8 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking wgpu-types v0.19.2 [INFO] [stderr] Compiling libsqlite3-sys v0.27.0 [INFO] [stderr] Compiling glutin-winit v0.4.2 [INFO] [stderr] Compiling wgpu-core v0.19.4 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking anstyle-query v1.1.5 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking strength_reduce v0.2.4 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Checking home v0.5.12 [INFO] [stderr] Checking anstyle v1.0.13 [INFO] [stderr] Checking is_terminal_polyfill v1.70.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking transpose v0.2.3 [INFO] [stderr] Checking webbrowser v0.8.15 [INFO] [stderr] Checking smithay-clipboard v0.7.3 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking arboard v3.6.1 [INFO] [stderr] Checking simba v0.6.0 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking webpki-roots v1.0.5 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking primal-check v0.3.4 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Compiling wgpu v0.19.4 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking ryu v1.0.22 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking base64ct v1.8.3 [INFO] [stderr] Checking data-encoding v2.10.0 [INFO] [stderr] Checking winnow v0.7.14 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking clap_lex v0.7.7 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking web-time v0.2.4 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking clap_builder v4.5.54 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking egui-winit v0.25.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking flume v0.11.1 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Checking directories-next v2.0.0 [INFO] [stderr] Checking rustfft v6.4.1 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking egui_glow v0.25.0 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking hyper-rustls v0.24.2 [INFO] [stderr] Checking rustls-native-certs v0.6.3 [INFO] [stderr] Checking tokio-rustls v0.25.0 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking simba v0.8.1 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking nalgebra v0.29.0 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking hashlink v0.8.4 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking ipnet v2.11.0 [INFO] [stderr] Checking webpki-roots v0.25.4 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking sled v0.34.7 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking realfft v3.5.0 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking clap v4.5.54 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking tokio-tungstenite v0.21.0 [INFO] [stderr] Checking rumqttc v0.23.0 [INFO] [stderr] Checking nalgebra v0.32.6 [INFO] [stderr] Checking eframe v0.25.0 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking sysinfo v0.30.13 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Checking egui_plot v0.25.0 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking secrecy v0.8.0 [INFO] [stderr] Checking uuid v1.19.0 [INFO] [stderr] Checking statrs v0.16.1 [INFO] [stderr] Checking rusqlite v0.30.0 [INFO] [stderr] Checking glowbarn v2.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `tokio::time::Interval` [INFO] [stdout] --> src/core/scheduler.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::time::Interval; [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: `warn` [INFO] [stdout] --> src/core/scheduler.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/core/event_bus.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mpsc` [INFO] [stdout] --> src/core/event_bus.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::sync::{broadcast, mpsc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sensors::SensorReading` [INFO] [stdout] --> src/core/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::sensors::SensorReading; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::detection::Detection` [INFO] [stdout] --> src/core/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::detection::Detection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SensorReading` [INFO] [stdout] --> src/sensors/manager.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | use super::{Sensor, SensorReading, SensorType, SensorStatus, SensorHealth}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/sensors/traits.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> src/sensors/quantum.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Uniform` [INFO] [stdout] --> src/sensors/simulator.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | use rand_distr::{Normal, Uniform}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `E` and `PI` [INFO] [stdout] --> src/analysis/entropy.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use std::f64::consts::{E, PI}; [INFO] [stdout] | ^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DMatrix` and `DVector` [INFO] [stdout] --> src/analysis/anomaly.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use nalgebra::{DMatrix, DVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/analysis/patterns.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/analysis/statistics.rs:116:17 [INFO] [stdout] | [INFO] [stdout] 116 | let k = (p / 100.0 * (sorted.len() - 1) as f64); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 116 - let k = (p / 100.0 * (sorted.len() - 1) as f64); [INFO] [stdout] 116 + let k = p / 100.0 * (sorted.len() - 1) as f64; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLock` [INFO] [stdout] --> src/analysis/mod.rs:22:30 [INFO] [stdout] | [INFO] [stdout] 22 | use tokio::sync::{broadcast, RwLock}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DMatrix` and `DVector` [INFO] [stdout] --> src/detection/fusion.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use nalgebra::{DMatrix, DVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/detection/fusion.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SensorContribution` [INFO] [stdout] --> src/detection/classification.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{Detection, DetectionType, SensorContribution}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::analysis::EntropyResult` [INFO] [stdout] --> src/detection/classification.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::analysis::EntropyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/detection/correlation.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/detection/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | use tracing::{info, warn, debug}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnomalyType`, `Anomaly`, and `EntropyResult` [INFO] [stdout] --> src/detection/mod.rs:23:23 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::analysis::{EntropyResult, Anomaly, AnomalyType}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/streaming/mqtt.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{info, warn, error, debug}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/streaming/websocket.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sensors::SensorReading` [INFO] [stdout] --> src/streaming/websocket.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::sensors::SensorReading; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/streaming/export.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use chrono::{DateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> src/streaming/export.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/streaming/export.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/streaming/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::config::Config` [INFO] [stdout] --> src/streaming/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha256` [INFO] [stdout] --> src/security/keystore.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Zeroize` [INFO] [stdout] --> src/security/keystore.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use zeroize::{Zeroize, Zeroizing}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `zeroize::Zeroize` [INFO] [stdout] --> src/security/auth.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use zeroize::Zeroize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/security/mod.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/config/mod.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/db/mod.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/db/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/db/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/db/mod.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | use tracing::{info, warn, debug}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/gpu/buffers.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/gpu/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/gpu/mod.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{info, warn, debug}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/ui/app.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RwLock` and `broadcast` [INFO] [stdout] --> src/ui/app.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::{broadcast, RwLock}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SensorManager`, `SensorReading`, and `SensorType` [INFO] [stdout] --> src/ui/app.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::sensors::{SensorManager, SensorReading, SensorType}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::theme::*` [INFO] [stdout] --> src/ui/app.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use super::theme::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/ui/app.rs:375:5 [INFO] [stdout] | [INFO] [stdout] 375 | (nanos as f64 / u32::MAX as f64) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 375 - (nanos as f64 / u32::MAX as f64) [INFO] [stdout] 375 + nanos as f64 / u32::MAX as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectionType` [INFO] [stdout] --> src/ui/panels.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::detection::{DetectionType, Severity}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SpectrumData` and `ThermalData` [INFO] [stdout] --> src/ui/panels.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{GuiState, ThermalData, SpectrumData}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::plots::*` [INFO] [stdout] --> src/ui/panels.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::plots::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::widgets::*` [INFO] [stdout] --> src/ui/panels.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use super::widgets::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/ui/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> src/ui/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::EventBus` [INFO] [stdout] --> src/ui/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::core::EventBus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::Interval` [INFO] [stdout] --> src/core/scheduler.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tokio::time::Interval; [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: `warn` [INFO] [stdout] --> src/core/scheduler.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/core/event_bus.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mpsc` [INFO] [stdout] --> src/core/event_bus.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | use tokio::sync::{broadcast, mpsc}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sensors::SensorReading` [INFO] [stdout] --> src/core/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::sensors::SensorReading; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::detection::Detection` [INFO] [stdout] --> src/core/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::detection::Detection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SensorReading` [INFO] [stdout] --> src/sensors/manager.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | use super::{Sensor, SensorReading, SensorType, SensorStatus, SensorHealth}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/sensors/traits.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> src/sensors/quantum.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Uniform` [INFO] [stdout] --> src/sensors/simulator.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | use rand_distr::{Normal, Uniform}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `E` and `PI` [INFO] [stdout] --> src/analysis/entropy.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use std::f64::consts::{E, PI}; [INFO] [stdout] | ^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DMatrix` and `DVector` [INFO] [stdout] --> src/analysis/anomaly.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use nalgebra::{DMatrix, DVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/analysis/patterns.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/analysis/statistics.rs:116:17 [INFO] [stdout] | [INFO] [stdout] 116 | let k = (p / 100.0 * (sorted.len() - 1) as f64); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 116 - let k = (p / 100.0 * (sorted.len() - 1) as f64); [INFO] [stdout] 116 + let k = p / 100.0 * (sorted.len() - 1) as f64; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RwLock` [INFO] [stdout] --> src/analysis/mod.rs:22:30 [INFO] [stdout] | [INFO] [stdout] 22 | use tokio::sync::{broadcast, RwLock}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DMatrix` and `DVector` [INFO] [stdout] --> src/detection/fusion.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | use nalgebra::{DMatrix, DVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/detection/fusion.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SensorContribution` [INFO] [stdout] --> src/detection/classification.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{Detection, DetectionType, SensorContribution}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::analysis::EntropyResult` [INFO] [stdout] --> src/detection/classification.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::analysis::EntropyResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/detection/correlation.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/detection/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | use tracing::{info, warn, debug}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AnomalyType`, `Anomaly`, and `EntropyResult` [INFO] [stdout] --> src/detection/mod.rs:23:23 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::analysis::{EntropyResult, Anomaly, AnomalyType}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/streaming/mqtt.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use tracing::{info, warn, error, debug}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/streaming/websocket.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::sensors::SensorReading` [INFO] [stdout] --> src/streaming/websocket.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::sensors::SensorReading; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/streaming/export.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use chrono::{DateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> src/streaming/export.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/streaming/export.rs:14:21 [INFO] [stdout] | [INFO] [stdout] 14 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/streaming/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::config::Config` [INFO] [stdout] --> src/streaming/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::config::Config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha256` [INFO] [stdout] --> src/security/keystore.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Zeroize` [INFO] [stdout] --> src/security/keystore.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use zeroize::{Zeroize, Zeroizing}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `zeroize::Zeroize` [INFO] [stdout] --> src/security/auth.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use zeroize::Zeroize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/security/mod.rs:19:21 [INFO] [stdout] | [INFO] [stdout] 19 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/config/mod.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/db/mod.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{anyhow, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/db/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/db/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/db/mod.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | use tracing::{info, warn, debug}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/gpu/buffers.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/gpu/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> src/gpu/mod.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{info, warn, debug}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/ui/app.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RwLock` and `broadcast` [INFO] [stdout] --> src/ui/app.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::{broadcast, RwLock}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SensorManager`, `SensorReading`, and `SensorType` [INFO] [stdout] --> src/ui/app.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::sensors::{SensorManager, SensorReading, SensorType}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::theme::*` [INFO] [stdout] --> src/ui/app.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use super::theme::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/ui/app.rs:375:5 [INFO] [stdout] | [INFO] [stdout] 375 | (nanos as f64 / u32::MAX as f64) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 375 - (nanos as f64 / u32::MAX as f64) [INFO] [stdout] 375 + nanos as f64 / u32::MAX as f64 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DetectionType` [INFO] [stdout] --> src/ui/panels.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::detection::{DetectionType, Severity}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SpectrumData` and `ThermalData` [INFO] [stdout] --> src/ui/panels.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use super::{GuiState, ThermalData, SpectrumData}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::plots::*` [INFO] [stdout] --> src/ui/panels.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use super::plots::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::widgets::*` [INFO] [stdout] --> src/ui/panels.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use super::widgets::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/ui/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> src/ui/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::EventBus` [INFO] [stdout] --> src/ui/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::core::EventBus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/security/keystore.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/security/keystore.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port_name` [INFO] [stdout] --> src/sensors/thermal.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(id: &str, port_name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_port_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port_name` [INFO] [stdout] --> src/sensors/thermal.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(id: &str, port_name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_port_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `match_m1` is assigned to, but never used [INFO] [stdout] --> src/analysis/entropy.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | let mut match_m1 = true; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_match_m1` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `match_m1` is never read [INFO] [stdout] --> src/analysis/entropy.rs:202:25 [INFO] [stdout] | [INFO] [stdout] 202 | match_m1 = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/analysis/signal.rs:296:45 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn spectrogram(&self, data: &[f64], sample_rate: f64, window_size: usize, hop_size: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis/statistics.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | let mut result = x.powf(a) * (1.0 - x).powf(b) / (a * self.beta(a, b)); [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 `match_m1` is assigned to, but never used [INFO] [stdout] --> src/analysis/entropy.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 196 | let mut match_m1 = true; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_match_m1` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `match_m1` is never read [INFO] [stdout] --> src/analysis/entropy.rs:202:25 [INFO] [stdout] | [INFO] [stdout] 202 | match_m1 = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis/complexity.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let mut vertical_lines: Vec = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis/complexity.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut vert_length = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vertical_lines` [INFO] [stdout] --> src/analysis/complexity.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let mut vertical_lines: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertical_lines` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vert_length` [INFO] [stdout] --> src/analysis/complexity.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut vert_length = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vert_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal_features` [INFO] [stdout] --> src/analysis/mod.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let signal_features = self.signal_processor.extract_features(&reading.data, reading.sample_rate); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal_features` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `patterns` [INFO] [stdout] --> src/analysis/mod.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | let patterns = self.pattern_detector.find_patterns(&reading.data); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/analysis/signal.rs:296:45 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn spectrogram(&self, data: &[f64], sample_rate: f64, window_size: usize, hop_size: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client_id` [INFO] [stdout] --> src/streaming/websocket.rs:108:40 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn send_to_client(&self, client_id: &str, message: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis/statistics.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | let mut result = x.powf(a) * (1.0 - x).powf(b) / (a * self.beta(a, b)); [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/analysis/complexity.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let mut vertical_lines: Vec = Vec::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis/complexity.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut vert_length = 0; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vertical_lines` [INFO] [stdout] --> src/analysis/complexity.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | let mut vertical_lines: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertical_lines` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vert_length` [INFO] [stdout] --> src/analysis/complexity.rs:303:17 [INFO] [stdout] | [INFO] [stdout] 303 | let mut vert_length = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vert_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal_features` [INFO] [stdout] --> src/analysis/mod.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let signal_features = self.signal_processor.extract_features(&reading.data, reading.sample_rate); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signal_features` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `patterns` [INFO] [stdout] --> src/analysis/mod.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | let patterns = self.pattern_detector.find_patterns(&reading.data); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_patterns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client_id` [INFO] [stdout] --> src/streaming/websocket.rs:108:40 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn send_to_client(&self, client_id: &str, message: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sid` [INFO] [stdout] --> src/db/mod.rs:212:31 [INFO] [stdout] | [INFO] [stdout] 212 | let sql = if let Some(sid) = sensor_id { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cc` [INFO] [stdout] --> src/ui/app.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(cc: &eframe::CreationContext<'_>, config: Config) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elapsed` [INFO] [stdout] --> src/ui/app.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | let elapsed = self.last_update.elapsed().as_secs_f64(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/ui/plots.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | id: &str, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sid` [INFO] [stdout] --> src/db/mod.rs:212:31 [INFO] [stdout] | [INFO] [stdout] 212 | let sql = if let Some(sid) = sensor_id { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ui/theme.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | SensorType::Accelerometer | SensorType::Geophone | SensorType::Accelerometer => GlowBarnColors::SEISMIC, [INFO] [stdout] | ------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | | [INFO] [stdout] | matches all the relevant values [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ui/mod.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | let mut fonts = egui::FontDefinitions::default(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub running: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub sensors_active: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub total_readings: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub total_detections: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub uptime_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub cpu_usage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub memory_usage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub last_detection: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub config: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/core/engine.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn new(config: Config) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn start(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub async fn stop(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub async fn state(&self) -> SystemState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn uptime(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/core/scheduler.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Scheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/core/scheduler.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/scheduler.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | / pub async fn add_task(&self, name: &str, interval: Duration, task: F) [INFO] [stdout] 35 | | where [INFO] [stdout] 36 | | F: Fn() + Send + Sync + 'static, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/scheduler.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub async fn remove_task(&self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/scheduler.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn enable_task(&self, name: &str, enabled: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | SensorReading, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Detection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Alert, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | SystemStatus, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub id: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub event_type: EventType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub payload: EventPayload, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/core/event_bus.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn new(capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn publish_reading(&self, reading: SensorReading) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn publish_detection(&self, detection: Detection) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn publish_alert(&self, level: &str, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn publish_error(&self, code: u32, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn subscribe_readings(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn subscribe_detections(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn subscribe_events(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/manager.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn new(config: Arc, event_bus: Arc, demo_mode: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | pub async fn add_sensor(&self, sensor: Box) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub async fn remove_sensor(&self, id: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub async fn active_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub async fn get_health(&self, id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub async fn get_all_health(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub async fn run(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | ThermalImager, // FLIR, SEEK, MLX90640 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ThermalArray, // AMG8833 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Thermistor, // Point temperature [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Pyrometer, // Non-contact IR [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Geophone, // Velocity sensor [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Accelerometer, // MEMS (ADXL, MPU, LIS) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Seismograph, // Raspberry Shake [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Piezoelectric, // Contact vibration [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | EMFProbe, // Magnetic field [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | TriField, // Multi-axis EMF [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | GaussMeter, // Precision magnetic [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | FluxGate, // Vector magnetometer [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | SQUIDMagnetometer, // Ultra-sensitive [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | Ultrasonic, // >20kHz [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | Infrasound, // <20Hz [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | FullSpectrum, // 0.1Hz - 100kHz [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | ParabolicMic, // Directional [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | ContactMic, // Structure-borne [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | MicArray, // Beamforming array [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | Barometer, // Pressure [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | Hygrometer, // Humidity [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | Anemometer, // Air flow [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | IonCounter, // Air ionization [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | VOCSensor, // Volatile organics [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | ParticulateSensor, // PM2.5/PM10 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | GeigerCounter, // Alpha/Beta/Gamma [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | Scintillator, // Gamma spectroscopy [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | NeutronDetector, // Neutron flux [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | DosimeterArray, // Spatial radiation [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | LightMeter, // Luminosity [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | UVSensor, // UV A/B/C [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | IRDetector, // Passive IR [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | Spectrometer, // Full spectrum [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | LiDAR, // Distance/mapping [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | LaserGrid, // Interruption detection [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | NightVision, // Enhanced imaging [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | SDRReceiver, // Software-defined radio [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | SpectrumAnalyzer, // RF spectrum [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | WiFiScanner, // 2.4/5GHz [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | EMIDetector, // Interference [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | CapacitiveSensor, // Proximity [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | StaticMeter, // Electrostatic [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | FieldMill, // Atmospheric electric [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | CurrentClamp, // AC/DC current [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | IonChamber, // Air ionization [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | CoronaDetector, // Electric discharge [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | PlasmaProbe, // Plasma detection [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | QRNG, // Quantum RNG [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | ThermalNoise, // Johnson noise [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | ShotNoise, // Electron shot noise [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | ZenerDiode, // Avalanche noise [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | Custom(u32), // User-defined [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | Connecting, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | Connected, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | Calibrating, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | Active, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | Maintenance, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub offset: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub scale: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub noise_floor: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub temperature: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub notes: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub signature: Vec, // Cryptographic signature [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub sensor_type: SensorType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub sequence: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub dimensions: Vec, // Shape for multi-dimensional data [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub unit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub quality: f32, // 0-1 signal quality [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub position: Option<[f64; 3]>, // x, y, z in meters [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub orientation: Option<[f64; 3]>, // roll, pitch, yaw in radians [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cc` [INFO] [stdout] --> src/ui/app.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(cc: &eframe::CreationContext<'_>, config: Config) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/traits.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn new(sensor_id: &str, sensor_type: SensorType, data: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/traits.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn as_vector(&self) -> DVector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/traits.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/traits.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | pub status: SensorStatus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub uptime_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub readings_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | pub error_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | pub last_error: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub signal_quality: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | pub noise_level: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | pub temperature: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | pub battery_level: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/thermal.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(id: &str, port_name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/thermal.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/seismic.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/seismic.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/seismic.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn new(id: &str, sensitivity: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/emf.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/emf.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/emf.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | pub enum TriFieldMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/emf.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | Magnetic, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/emf.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | Electric, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/emf.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | Radio, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/emf.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn new(id: &str, num_mics: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/radiation.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum GeigerTubeType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | SBM20, // Russian pancake [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elapsed` [INFO] [stdout] --> src/ui/app.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | let elapsed = self.last_update.elapsed().as_secs_f64(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | SI29BG, // End-window [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | LND712, // Halogen-quenched [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | J408Gamma, // High-sensitivity gamma [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Custom, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new(id: &str, tube_type: GeigerTubeType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/radiation.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | pub enum ScintillatorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | NaI, // Sodium Iodide [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | CsI, // Cesium Iodide [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | BGO, // Bismuth Germanate [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | LaBr3, // Lanthanum Bromide [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | Plastic, // Plastic scintillator [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new(id: &str, crystal_type: ScintillatorType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn new(id: &str, num_dosimeters: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn new(id: &str, rows: usize, cols: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/sensors/rf.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct WiFiBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/rf.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | pub ghz_2_4: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/rf.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | pub ghz_5: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/rf.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub ghz_6: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn new(id: &str, max_current: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/magnetic.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/magnetic.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/magnetic.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn new(id: &str, baseline: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn new(id: &str, chamber_volume: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/quantum.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum QRNGSourceType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | PhotonArrival, // Photon timing [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | BeamSplitter, // Quantum beam splitter [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Vacuum, // Vacuum fluctuations [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | RadioactiveDecay, // True random from decay [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(id: &str, source_type: QRNGSourceType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/simulator.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new(id: &str, sensor_type: SensorType, sample_rate: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub entropy_window: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub anomaly_threshold: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub pattern_min_length: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub fft_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enable_gpu: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/mod.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub async fn new(config: Arc, event_bus: Arc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/mod.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | pub async fn run(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub shannon: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub renyi: f64, // Rényi entropy (alpha=2) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub tsallis: f64, // Tsallis entropy (q=2) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub sample: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub approximate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub permutation: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub multiscale: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub spectral: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub wavelet: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub lz_complexity: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub kolmogorov_estimate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub hurst_exponent: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub kurtosis: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub skewness: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub is_anomalous: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub anomaly_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/entropy.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/entropy.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn analyze(&self, data: &[f64]) -> EntropyResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub index: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub anomaly_type: AnomalyType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/analysis/anomaly.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum AnomalyType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | PointAnomaly, // Single outlier [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ContextualAnomaly, // Anomaly in context [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | CollectiveAnomaly, // Group of anomalies [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | ChangePoint, // Distribution shift [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Spike, // Sudden spike [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | Drop, // Sudden drop [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Drift, // Gradual change [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | Oscillation, // Abnormal oscillation [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/anomaly.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/anomaly.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn detect(&self, data: &[f64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub mean: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub std_dev: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub rms: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub peak_to_peak: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub crest_factor: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub zero_crossings: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub dominant_frequency: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub spectral_centroid: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub spectral_bandwidth: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub spectral_rolloff: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub spectral_flatness: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub band_energies: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub attack_time: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub decay_time: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/signal.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/signal.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn extract_features(&self, data: &[f64], sample_rate: f64) -> SignalFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub pattern_type: PatternType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub start_index: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub length: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub period: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/analysis/patterns.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum PatternType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Periodic, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Transient, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Trend, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | Oscillation, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | StepChange, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | Impulse, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Harmonic, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | Burst, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | Recurring, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/patterns.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/patterns.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn find_patterns(&self, data: &[f64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub mean: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub median: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub mode: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub std_dev: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub variance: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub min: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub max: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub range: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub q1: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub q3: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub iqr: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub skewness: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub kurtosis: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub coefficient_of_variation: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/statistics.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/statistics.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn summarize(&self, data: &[f64]) -> StatisticalSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/analysis/statistics.rs:409:1 [INFO] [stdout] | [INFO] [stdout] 409 | pub struct TTestResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub t_statistic: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | pub p_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:412:5 [INFO] [stdout] | [INFO] [stdout] 412 | pub degrees_of_freedom: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:413:5 [INFO] [stdout] | [INFO] [stdout] 413 | pub significant: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/analysis/statistics.rs:417:1 [INFO] [stdout] | [INFO] [stdout] 417 | pub struct UTestResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:418:5 [INFO] [stdout] | [INFO] [stdout] 418 | pub u_statistic: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:419:5 [INFO] [stdout] | [INFO] [stdout] 419 | pub p_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:420:5 [INFO] [stdout] | [INFO] [stdout] 420 | pub significant: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/analysis/statistics.rs:424:1 [INFO] [stdout] | [INFO] [stdout] 424 | pub struct KSTestResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:425:5 [INFO] [stdout] | [INFO] [stdout] 425 | pub d_statistic: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | pub p_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub significant: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub fractal_dimension: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub correlation_dimension: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub lyapunov_exponent: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub recurrence_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub determinism: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub laminarity: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub entropy_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/complexity.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/complexity.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn analyze(&self, data: &[f64]) -> ComplexityResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub detection_type: DetectionType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub severity: Severity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub sensors: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub entropy_deviation: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub anomaly_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub correlation_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub classification: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub location: Option<[f64; 3]>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub data_window_start: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub data_window_end: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub sensor_type: SensorType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub weight: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub reading_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub anomaly_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | ThermalAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | TemperatureGradient, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | ColdSpot, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | HotSpot, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | InfrasoundEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | UltrasonicEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/ui/plots.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | id: &str, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | EVP, // Electronic Voice Phenomena [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | UnexplainedSound, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | EMFSpike, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | EMFFluctuation, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ui/theme.rs:131:60 [INFO] [stdout] | [INFO] [stdout] 131 | SensorType::Accelerometer | SensorType::Geophone | SensorType::Accelerometer => GlowBarnColors::SEISMIC, [INFO] [stdout] | ------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | | [INFO] [stdout] | matches all the relevant values [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | MagneticAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | StaticDischarge, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | SeismicEvent, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ui/mod.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | let mut fonts = egui::FontDefinitions::default(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | Vibration, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | Movement, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | RadiationSpike, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | IonizationChange, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | RFAnomaly, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | InterferencePattern, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | LightAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | LaserInterruption, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | SpectrumAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | EntropyAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | QRNGDeviation, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | CorrelatedAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | SensorFusionEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | Low, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | Medium, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | High, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | Critical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub category: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | pub subcategory: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub model_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/mod.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub async fn new(config: Arc, event_bus: Arc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/detection/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub async fn run(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/detection/mod.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | pub async fn get_detection_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/detection/mod.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | pub async fn get_recent_detections(&self, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub detection_type: DetectionType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub sensors: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub belief_mass: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub anomaly: f64, // m({anomaly}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub normal: f64, // m({normal}) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub uncertainty: f64, // m(Θ) - complete uncertainty [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/fusion.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub typical_signatures: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/classification.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/detection/classification.rs:208:1 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct ClassificationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:209:5 [INFO] [stdout] | [INFO] [stdout] 209 | pub category: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | pub all_scores: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub features: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub sensors: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub lag_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/correlation.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub mqtt_broker: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub mqtt_port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub mqtt_client_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub mqtt_username: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub mqtt_password: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub mqtt_use_tls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub websocket_port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub websocket_max_clients: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub export_format: ExportFormat, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub export_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | Json, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | Csv, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Binary, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | InfluxLineProtocol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub running: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | #![warn(missing_docs)] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/mod.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub async fn new(config: StreamingConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mod.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn start(&mut self, shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub sensors_active: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mod.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub async fn publish_reading(&self, reading: &crate::sensors::SensorReading) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mod.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub async fn publish_detection(&self, detection: &crate::detection::Detection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/streaming/mqtt.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MqttConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub total_readings: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub broker: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub client_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub total_detections: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub username: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub password: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub use_tls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub uptime_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub keep_alive_secs: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub reconnect_interval_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/mqtt.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub async fn new(config: &StreamingConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub cpu_usage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub memory_usage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | pub async fn connect(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub async fn publish(&self, topic: &str, payload: &T) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub async fn publish_raw(&self, topic: &str, payload: &[u8]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub last_detection: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub async fn subscribe(&self, topic: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub async fn disconnect(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub async fn is_connected(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | pub topic: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub payload: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub qos: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub retain: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/streaming/websocket.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum WebSocketMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/websocket.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | SensorReading(String), // JSON [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/websocket.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | Detection(String), // JSON [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/websocket.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | System(String), // System message [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/websocket.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(port: u16, max_clients: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn start(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub async fn broadcast(&self, data: &T) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | pub async fn broadcast_detection(&self, detection: &Detection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn send_to_client(&self, client_id: &str, message: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn get_client_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/engine.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub config: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub async fn get_client_addrs(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/export.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(path: &str, format: ExportFormat) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/export.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub fn new(format: ExportFormat) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn new(config: SecurityConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/core/engine.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn new(config: Config) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub timestamp: chrono::DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub event_type: AuditEventType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub user: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub ip_address: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn start(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub success: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/security/mod.rs:130:1 [INFO] [stdout] | [INFO] [stdout] 130 | pub enum AuditEventType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | Login, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | Logout, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | PasswordChange, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | DataAccess, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | DataExport, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | ConfigChange, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | SessionExpired, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | AuthFailure, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub async fn stop(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | EncryptionOperation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | SystemStart, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | SystemStop, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/mod.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/mod.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn log(&self, event: AuditEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/mod.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn get_events(&self, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/encryption.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn new() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/encryption.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn with_key(key: [u8; 32]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/encryption.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn encrypt(&self, plaintext: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/encryption.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn decrypt(&self, data: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub async fn state(&self) -> SystemState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/security/keystore.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct EncryptedKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/security/keystore.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum KeyType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | DataEncryption, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | NetworkEncryption, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | SigningKey, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | APIKey, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/engine.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn uptime(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | SessionKey, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/keystore.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub user_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/core/scheduler.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Scheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub expires_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub ip_address: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub user_agent: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/core/scheduler.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/scheduler.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | / pub async fn add_task(&self, name: &str, interval: Duration, task: F) [INFO] [stdout] 35 | | where [INFO] [stdout] 36 | | F: Fn() + Send + Sync + 'static, [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/scheduler.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub async fn remove_task(&self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/scheduler.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn enable_task(&self, name: &str, enabled: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | SensorReading, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Detection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Alert, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub is_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub score: u32, // 0-4 (weak to very strong) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub feedback: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub acceptable: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/auth.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(min_password_length: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn from_slice(slice: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn new(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn from_string(s: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn as_str(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn from_slice(slice: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn is_locked(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | pub enum FusionMethod { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | Bayesian, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | DempsterShafer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | WeightedAverage, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | SystemStatus, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/core/event_bus.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub id: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub event_type: EventType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/core/event_bus.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub payload: EventPayload, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/core/event_bus.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn new(capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn publish_reading(&self, reading: SensorReading) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn publish_detection(&self, detection: Detection) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn publish_alert(&self, level: &str, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn publish_error(&self, code: u32, message: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn subscribe_readings(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn subscribe_detections(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/core/event_bus.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn subscribe_events(&self) -> broadcast::Receiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/manager.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn new(config: Arc, event_bus: Arc, demo_mode: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | pub async fn add_sensor(&self, sensor: Box) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub async fn remove_sensor(&self, id: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub async fn active_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub async fn get_health(&self, id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub async fn get_all_health(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/manager.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub async fn run(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | ThermalImager, // FLIR, SEEK, MLX90640 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | ThermalArray, // AMG8833 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Thermistor, // Point temperature [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Pyrometer, // Non-contact IR [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Geophone, // Velocity sensor [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Accelerometer, // MEMS (ADXL, MPU, LIS) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Seismograph, // Raspberry Shake [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Piezoelectric, // Contact vibration [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | EMFProbe, // Magnetic field [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | TriField, // Multi-axis EMF [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | GaussMeter, // Precision magnetic [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | FluxGate, // Vector magnetometer [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | SQUIDMagnetometer, // Ultra-sensitive [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | Ultrasonic, // >20kHz [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | Infrasound, // <20Hz [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | FullSpectrum, // 0.1Hz - 100kHz [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | ParabolicMic, // Directional [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | ContactMic, // Structure-borne [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | MicArray, // Beamforming array [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | Barometer, // Pressure [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | Hygrometer, // Humidity [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | Anemometer, // Air flow [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | IonCounter, // Air ionization [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | VOCSensor, // Volatile organics [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | ParticulateSensor, // PM2.5/PM10 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | GeigerCounter, // Alpha/Beta/Gamma [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | Scintillator, // Gamma spectroscopy [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | NeutronDetector, // Neutron flux [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | DosimeterArray, // Spatial radiation [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | LightMeter, // Luminosity [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | UVSensor, // UV A/B/C [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | IRDetector, // Passive IR [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | Spectrometer, // Full spectrum [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | LiDAR, // Distance/mapping [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | LaserGrid, // Interruption detection [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | NightVision, // Enhanced imaging [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | SDRReceiver, // Software-defined radio [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | SpectrumAnalyzer, // RF spectrum [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | WiFiScanner, // 2.4/5GHz [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | EMIDetector, // Interference [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:246:1 [INFO] [stdout] | [INFO] [stdout] 246 | pub enum Severity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | Low, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | Medium, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | High, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | Critical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:301:1 [INFO] [stdout] | [INFO] [stdout] 301 | pub enum Theme { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | Dark, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | Light, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | System, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:308:1 [INFO] [stdout] | [INFO] [stdout] 308 | pub enum Colormap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | Inferno, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | Viridis, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | Plasma, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | Magma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 313 | Turbo, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | Grayscale, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/db/mod.rs:388:1 [INFO] [stdout] | [INFO] [stdout] 388 | pub struct StoredReading { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:389:5 [INFO] [stdout] | [INFO] [stdout] 389 | pub id: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 390 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:391:5 [INFO] [stdout] | [INFO] [stdout] 391 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:392:5 [INFO] [stdout] | [INFO] [stdout] 392 | pub sensor_type: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:393:5 [INFO] [stdout] | [INFO] [stdout] 393 | pub quality: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/db/mod.rs:398:1 [INFO] [stdout] | [INFO] [stdout] 398 | pub struct StoredDetection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:399:5 [INFO] [stdout] | [INFO] [stdout] 399 | pub id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:400:5 [INFO] [stdout] | [INFO] [stdout] 400 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | pub detection_type: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:403:5 [INFO] [stdout] | [INFO] [stdout] 403 | pub severity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | pub sensor_count: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:405:5 [INFO] [stdout] | [INFO] [stdout] 405 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | CapacitiveSensor, // Proximity [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | StaticMeter, // Electrostatic [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | FieldMill, // Atmospheric electric [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | CurrentClamp, // AC/DC current [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | IonChamber, // Air ionization [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | CoronaDetector, // Electric discharge [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | PlasmaProbe, // Plasma detection [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | QRNG, // Quantum RNG [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | ThermalNoise, // Johnson noise [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | ShotNoise, // Electron shot noise [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | ZenerDiode, // Avalanche noise [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | Custom(u32), // User-defined [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | Connecting, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | Connected, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | Calibrating, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | Active, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/traits.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | Maintenance, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub offset: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub scale: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub noise_floor: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub temperature: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | pub notes: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub signature: Vec, // Cryptographic signature [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub sensor_type: SensorType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub sequence: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub dimensions: Vec, // Shape for multi-dimensional data [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub unit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub quality: f32, // 0-1 signal quality [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub position: Option<[f64; 3]>, // x, y, z in meters [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub orientation: Option<[f64; 3]>, // roll, pitch, yaw in radians [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/traits.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn new(sensor_id: &str, sensor_type: SensorType, data: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/traits.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub fn as_vector(&self) -> DVector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/traits.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/sensors/traits.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | pub status: SensorStatus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub uptime_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub readings_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | pub error_count: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | pub last_error: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | pub signal_quality: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | pub noise_level: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | pub temperature: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/traits.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | pub battery_level: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/thermal.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(id: &str, port_name: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/thermal.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/seismic.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/seismic.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/seismic.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn new(id: &str, sensitivity: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/emf.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/emf.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/emf.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | pub enum TriFieldMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/emf.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | Magnetic, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/emf.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | Electric, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/emf.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | Radio, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/emf.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/db/mod.rs:409:1 [INFO] [stdout] | [INFO] [stdout] 409 | pub struct DatabaseStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub reading_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | pub detection_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:412:5 [INFO] [stdout] | [INFO] [stdout] 412 | pub size_bytes: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/mod.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(device: &wgpu::Device) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/mod.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | pub async fn compute(&self, device: &wgpu::Device, queue: &wgpu::Queue, data: &[f32]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/mod.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn new(device: &wgpu::Device) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/mod.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | pub async fn compute(&self, device: &wgpu::Device, queue: &wgpu::Queue, data: &[f32]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new(device: &wgpu::Device, capacity: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn push(&mut self, queue: &wgpu::Queue, data: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn buffer(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn len(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn capacity(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn new(device: &wgpu::Device, size: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn current(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn previous(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn swap(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/audio.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn new(id: &str, num_mics: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn write_current(&self, queue: &wgpu::Queue, data: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn new(device: &wgpu::Device, data: &T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn update(&self, queue: &wgpu::Queue, data: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn buffer(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn new(device: &wgpu::Device, width: u32, height: u32, format: wgpu::TextureFormat) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn update(&self, queue: &wgpu::Queue, data: &[u8], bytes_per_row: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn view(&self) -> &wgpu::TextureView { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn texture(&self) -> &wgpu::Texture { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn width(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn height(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/pipelines.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(device: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/pipelines.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn new(device: Arc, queue: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/environmental.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/radiation.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum GeigerTubeType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | SBM20, // Russian pancake [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | SI29BG, // End-window [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | LND712, // Halogen-quenched [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | J408Gamma, // High-sensitivity gamma [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Custom, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new(id: &str, tube_type: GeigerTubeType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/radiation.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | pub enum ScintillatorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | NaI, // Sodium Iodide [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | CsI, // Cesium Iodide [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | BGO, // Bismuth Germanate [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | LaBr3, // Lanthanum Bromide [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/radiation.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | Plastic, // Plastic scintillator [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn new(id: &str, crystal_type: ScintillatorType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/radiation.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn new(id: &str, num_dosimeters: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub label: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/optical.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn new(id: &str, rows: usize, cols: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub pipeline: &'a wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub bind_group: &'a wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub workgroups: (u32, u32, u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/pipelines.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn new(device: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub width: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub height: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | pub min_temp: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | pub max_temp: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub timestamp: chrono::DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | pub frequencies: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub magnitudes: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub peak_freq: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | pub timestamp: chrono::DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub readings_per_sec: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub detections_total: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub cpu_usage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub memory_mb: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub uptime_secs: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub active_sensors: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/app.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(cc: &eframe::CreationContext<'_>, config: Config) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/panels.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/panels.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn show(&mut self, ui: &mut egui::Ui, state: &mut GuiState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/panels.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/panels.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | pub fn show(&self, ui: &mut egui::Ui, state: &GuiState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/panels.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/sensors/rf.rs:165:1 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct WiFiBands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/panels.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn show(&mut self, ui: &mut egui::Ui, state: &GuiState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/rf.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | pub ghz_2_4: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/panels.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/panels.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn show(&self, ui: &mut egui::Ui, state: &GuiState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/rf.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | pub ghz_5: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/sensors/rf.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub ghz_6: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/panels.rs:286:5 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/panels.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 290 | pub fn show(&self, ui: &mut egui::Ui, state: &mut GuiState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/panels.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/panels.rs:352:5 [INFO] [stdout] | [INFO] [stdout] 352 | pub fn show(&self, ui: &mut egui::Ui, state: &GuiState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/rf.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ui/panels.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | Inferno, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ui/panels.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 383 | Viridis, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ui/panels.rs:384:5 [INFO] [stdout] | [INFO] [stdout] 384 | Plasma, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ui/panels.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | Turbo, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/ui/panels.rs:386:5 [INFO] [stdout] | [INFO] [stdout] 386 | Grayscale, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/panels.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn to_color(&self, t: f32) -> egui::Color32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/widgets.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn new(value: f32, min: f32, max: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/widgets.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn label(mut self, label: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/widgets.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn unit(mut self, unit: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/widgets.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn show(self, ui: &mut egui::Ui) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/ui/plots.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn new(max_rows: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/plots.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn push_row(&mut self, row: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/ui/plots.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn show(&self, ui: &mut egui::Ui, colormap: impl Fn(f32) -> egui::Color32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub const PRIMARY: egui::Color32 = egui::Color32::from_rgb(100, 200, 255); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub const SECONDARY: egui::Color32 = egui::Color32::from_rgb(150, 100, 255); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | pub const SUCCESS: egui::Color32 = egui::Color32::from_rgb(100, 255, 150); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub const WARNING: egui::Color32 = egui::Color32::from_rgb(255, 200, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/capacitive.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn new(id: &str, max_current: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/magnetic.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | pub const DANGER: egui::Color32 = egui::Color32::from_rgb(255, 100, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | pub const INFO: egui::Color32 = egui::Color32::from_rgb(100, 200, 255); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub const EMF: egui::Color32 = egui::Color32::from_rgb(100, 200, 255); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub const THERMAL: egui::Color32 = egui::Color32::from_rgb(255, 100, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub const AUDIO: egui::Color32 = egui::Color32::from_rgb(100, 255, 150); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub const SEISMIC: egui::Color32 = egui::Color32::from_rgb(255, 200, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | pub const RADIATION: egui::Color32 = egui::Color32::from_rgb(255, 255, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub const RF: egui::Color32 = egui::Color32::from_rgb(200, 100, 255); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | pub const OPTICAL: egui::Color32 = egui::Color32::from_rgb(255, 150, 200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/magnetic.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub const QUANTUM: egui::Color32 = egui::Color32::from_rgb(100, 255, 255); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub const SEVERITY_LOW: egui::Color32 = egui::Color32::from_rgb(100, 200, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub const SEVERITY_MEDIUM: egui::Color32 = egui::Color32::from_rgb(200, 200, 100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | pub const SEVERITY_HIGH: egui::Color32 = egui::Color32::from_rgb(255, 150, 50); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated constant [INFO] [stdout] --> src/ui/theme.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub const SEVERITY_CRITICAL: egui::Color32 = egui::Color32::from_rgb(255, 50, 50); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/magnetic.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn new(id: &str, baseline: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn new(id: &str, chamber_volume: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/ionization.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/sensors/quantum.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum QRNGSourceType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | PhotonArrival, // Photon timing [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | BeamSplitter, // Quantum beam splitter [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Vacuum, // Vacuum fluctuations [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/sensors/quantum.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | RadioactiveDecay, // True random from decay [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn new(id: &str, source_type: QRNGSourceType) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/quantum.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn new(id: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/sensors/simulator.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new(id: &str, sensor_type: SensorType, sample_rate: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub entropy_window: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub anomaly_threshold: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub pattern_min_length: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub fft_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enable_gpu: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/mod.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub async fn new(config: Arc, event_bus: Arc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/mod.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | pub async fn run(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub shannon: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub renyi: f64, // Rényi entropy (alpha=2) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub tsallis: f64, // Tsallis entropy (q=2) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub sample: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub approximate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub permutation: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub multiscale: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub spectral: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub wavelet: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub lz_complexity: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub kolmogorov_estimate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub hurst_exponent: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub kurtosis: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub skewness: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub is_anomalous: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/entropy.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub anomaly_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/entropy.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/entropy.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn analyze(&self, data: &[f64]) -> EntropyResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub index: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub anomaly_type: AnomalyType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/anomaly.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/analysis/anomaly.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum AnomalyType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | PointAnomaly, // Single outlier [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | ContextualAnomaly, // Anomaly in context [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | CollectiveAnomaly, // Group of anomalies [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | ChangePoint, // Distribution shift [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Spike, // Sudden spike [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | Drop, // Sudden drop [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Drift, // Gradual change [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/anomaly.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | Oscillation, // Abnormal oscillation [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/anomaly.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/anomaly.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn detect(&self, data: &[f64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub mean: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub std_dev: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub rms: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub peak_to_peak: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub crest_factor: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub zero_crossings: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub dominant_frequency: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub spectral_centroid: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub spectral_bandwidth: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub spectral_rolloff: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub spectral_flatness: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub band_energies: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub attack_time: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/signal.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub decay_time: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/signal.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/signal.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn extract_features(&self, data: &[f64], sample_rate: f64) -> SignalFeatures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub pattern_type: PatternType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub start_index: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub length: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub period: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/patterns.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/analysis/patterns.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum PatternType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Periodic, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Transient, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Trend, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | Oscillation, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | StepChange, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | Impulse, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | Harmonic, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | Burst, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/analysis/patterns.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | Recurring, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/patterns.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(config: AnalysisConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/patterns.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn find_patterns(&self, data: &[f64]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub mean: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub median: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub mode: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub std_dev: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub variance: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub min: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub max: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub range: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub q1: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub q3: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub iqr: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub skewness: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub kurtosis: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub coefficient_of_variation: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/statistics.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/statistics.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn summarize(&self, data: &[f64]) -> StatisticalSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/analysis/statistics.rs:409:1 [INFO] [stdout] | [INFO] [stdout] 409 | pub struct TTestResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub t_statistic: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | pub p_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:412:5 [INFO] [stdout] | [INFO] [stdout] 412 | pub degrees_of_freedom: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:413:5 [INFO] [stdout] | [INFO] [stdout] 413 | pub significant: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/analysis/statistics.rs:417:1 [INFO] [stdout] | [INFO] [stdout] 417 | pub struct UTestResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:418:5 [INFO] [stdout] | [INFO] [stdout] 418 | pub u_statistic: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:419:5 [INFO] [stdout] | [INFO] [stdout] 419 | pub p_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:420:5 [INFO] [stdout] | [INFO] [stdout] 420 | pub significant: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/analysis/statistics.rs:424:1 [INFO] [stdout] | [INFO] [stdout] 424 | pub struct KSTestResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:425:5 [INFO] [stdout] | [INFO] [stdout] 425 | pub d_statistic: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | pub p_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/statistics.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub significant: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub fractal_dimension: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub correlation_dimension: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub lyapunov_exponent: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub recurrence_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub determinism: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub laminarity: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/analysis/complexity.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub entropy_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/analysis/complexity.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/analysis/complexity.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn analyze(&self, data: &[f64]) -> ComplexityResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub detection_type: DetectionType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub severity: Severity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub sensors: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub entropy_deviation: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub anomaly_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub correlation_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub classification: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | pub location: Option<[f64; 3]>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub data_window_start: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub data_window_end: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub sensor_type: SensorType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub weight: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub reading_value: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub anomaly_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | ThermalAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | TemperatureGradient, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | ColdSpot, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | HotSpot, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | InfrasoundEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | UltrasonicEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | EVP, // Electronic Voice Phenomena [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | UnexplainedSound, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | EMFSpike, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | EMFFluctuation, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | MagneticAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | StaticDischarge, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | SeismicEvent, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | Vibration, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | Movement, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | RadiationSpike, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | IonizationChange, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | RFAnomaly, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | InterferencePattern, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | LightAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | LaserInterruption, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | SpectrumAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | EntropyAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | QRNGDeviation, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | CorrelatedAnomaly, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | SensorFusionEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | Low, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | Medium, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | High, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/detection/mod.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | Critical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub category: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | pub subcategory: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/mod.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub model_version: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/mod.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub async fn new(config: Arc, event_bus: Arc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/detection/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub async fn run(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/detection/mod.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | pub async fn get_detection_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/detection/mod.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | pub async fn get_recent_detections(&self, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub detection_type: DetectionType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub sensors: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub belief_mass: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub anomaly: f64, // m({anomaly}) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub normal: f64, // m({normal}) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/fusion.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub uncertainty: f64, // m(Θ) - complete uncertainty [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/fusion.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub typical_signatures: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/classification.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/detection/classification.rs:208:1 [INFO] [stdout] | [INFO] [stdout] 208 | pub struct ClassificationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:209:5 [INFO] [stdout] | [INFO] [stdout] 209 | pub category: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | pub all_scores: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/classification.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | pub features: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub timestamp: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub sensors: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/detection/correlation.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub lag_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/detection/correlation.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub mqtt_broker: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub mqtt_port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub mqtt_client_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub mqtt_username: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub mqtt_password: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub mqtt_use_tls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub websocket_port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub websocket_max_clients: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub export_format: ExportFormat, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mod.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub export_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | Json, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | Csv, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | Binary, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/mod.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | InfluxLineProtocol, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/mod.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub async fn new(config: StreamingConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mod.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn start(&mut self, shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mod.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | pub async fn publish_reading(&self, reading: &crate::sensors::SensorReading) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mod.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub async fn publish_detection(&self, detection: &crate::detection::Detection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/streaming/mqtt.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MqttConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub broker: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub port: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub client_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub username: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub password: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub use_tls: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub keep_alive_secs: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub reconnect_interval_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/mqtt.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub async fn new(config: &StreamingConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | pub async fn connect(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub async fn publish(&self, topic: &str, payload: &T) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub async fn publish_raw(&self, topic: &str, payload: &[u8]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub async fn subscribe(&self, topic: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub async fn disconnect(&self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/mqtt.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub async fn is_connected(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 145 | pub topic: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub payload: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | pub qos: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/streaming/mqtt.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub retain: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/streaming/websocket.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum WebSocketMessage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/websocket.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | SensorReading(String), // JSON [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/websocket.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | Detection(String), // JSON [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/streaming/websocket.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | System(String), // System message [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/websocket.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(port: u16, max_clients: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub async fn start(&self, mut shutdown: broadcast::Receiver<()>) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub async fn broadcast(&self, data: &T) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | pub async fn broadcast_detection(&self, detection: &Detection) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub async fn send_to_client(&self, client_id: &str, message: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn get_client_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/streaming/websocket.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub async fn get_client_addrs(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/export.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(path: &str, format: ExportFormat) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/streaming/export.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub fn new(format: ExportFormat) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn new(config: SecurityConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub timestamp: chrono::DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub event_type: AuditEventType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub description: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub user: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub ip_address: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/mod.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | pub success: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/security/mod.rs:130:1 [INFO] [stdout] | [INFO] [stdout] 130 | pub enum AuditEventType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | Login, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | Logout, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | PasswordChange, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | DataAccess, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | DataExport, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | ConfigChange, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | SessionExpired, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | AuthFailure, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | EncryptionOperation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | SystemStart, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/mod.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | SystemStop, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/mod.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn new() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/mod.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn log(&self, event: AuditEvent) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/mod.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn get_events(&self, limit: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/encryption.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn new() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/encryption.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub fn with_key(key: [u8; 32]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/encryption.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn encrypt(&self, plaintext: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/encryption.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn decrypt(&self, data: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/security/keystore.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct EncryptedKey { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/security/keystore.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum KeyType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | DataEncryption, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | NetworkEncryption, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | SigningKey, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | APIKey, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/security/keystore.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | SessionKey, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/keystore.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | pub user_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | pub expires_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub ip_address: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub user_agent: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub is_active: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub score: u32, // 0-4 (weak to very strong) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub feedback: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/security/auth.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub acceptable: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/auth.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(min_password_length: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn from_slice(slice: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn new(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn from_string(s: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn as_str(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/security/secure_memory.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn from_slice(slice: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/security/secure_memory.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn is_locked(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:239:1 [INFO] [stdout] | [INFO] [stdout] 239 | pub enum FusionMethod { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 240 | Bayesian, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | DempsterShafer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | WeightedAverage, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:246:1 [INFO] [stdout] | [INFO] [stdout] 246 | pub enum Severity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | Low, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | Medium, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | High, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | Critical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:301:1 [INFO] [stdout] | [INFO] [stdout] 301 | pub enum Theme { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:302:5 [INFO] [stdout] | [INFO] [stdout] 302 | Dark, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:303:5 [INFO] [stdout] | [INFO] [stdout] 303 | Light, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | System, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an enum [INFO] [stdout] --> src/config/mod.rs:308:1 [INFO] [stdout] | [INFO] [stdout] 308 | pub enum Colormap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | Inferno, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | Viridis, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:311:5 [INFO] [stdout] | [INFO] [stdout] 311 | Plasma, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:312:5 [INFO] [stdout] | [INFO] [stdout] 312 | Magma, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 313 | Turbo, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a variant [INFO] [stdout] --> src/config/mod.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | Grayscale, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/db/mod.rs:388:1 [INFO] [stdout] | [INFO] [stdout] 388 | pub struct StoredReading { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:389:5 [INFO] [stdout] | [INFO] [stdout] 389 | pub id: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 390 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:391:5 [INFO] [stdout] | [INFO] [stdout] 391 | pub sensor_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:392:5 [INFO] [stdout] | [INFO] [stdout] 392 | pub sensor_type: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:393:5 [INFO] [stdout] | [INFO] [stdout] 393 | pub quality: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 394 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/db/mod.rs:398:1 [INFO] [stdout] | [INFO] [stdout] 398 | pub struct StoredDetection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:399:5 [INFO] [stdout] | [INFO] [stdout] 399 | pub id: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:400:5 [INFO] [stdout] | [INFO] [stdout] 400 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:401:5 [INFO] [stdout] | [INFO] [stdout] 401 | pub detection_type: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | pub confidence: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:403:5 [INFO] [stdout] | [INFO] [stdout] 403 | pub severity: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:404:5 [INFO] [stdout] | [INFO] [stdout] 404 | pub sensor_count: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:405:5 [INFO] [stdout] | [INFO] [stdout] 405 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct [INFO] [stdout] --> src/db/mod.rs:409:1 [INFO] [stdout] | [INFO] [stdout] 409 | pub struct DatabaseStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | pub reading_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:411:5 [INFO] [stdout] | [INFO] [stdout] 411 | pub detection_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/db/mod.rs:412:5 [INFO] [stdout] | [INFO] [stdout] 412 | pub size_bytes: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/mod.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(device: &wgpu::Device) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/mod.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | pub async fn compute(&self, device: &wgpu::Device, queue: &wgpu::Queue, data: &[f32]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/mod.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn new(device: &wgpu::Device) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/mod.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | pub async fn compute(&self, device: &wgpu::Device, queue: &wgpu::Queue, data: &[f32]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new(device: &wgpu::Device, capacity: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn push(&mut self, queue: &wgpu::Queue, data: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn buffer(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn len(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn capacity(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn new(device: &wgpu::Device, size: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn current(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn previous(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn swap(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn write_current(&self, queue: &wgpu::Queue, data: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn new(device: &wgpu::Device, data: &T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn update(&self, queue: &wgpu::Queue, data: &T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | pub fn buffer(&self) -> &wgpu::Buffer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/buffers.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn new(device: &wgpu::Device, width: u32, height: u32, format: wgpu::TextureFormat) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn update(&self, queue: &wgpu::Queue, data: &[u8], bytes_per_row: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn view(&self) -> &wgpu::TextureView { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn texture(&self) -> &wgpu::Texture { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn width(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a method [INFO] [stdout] --> src/gpu/buffers.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn height(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/pipelines.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(device: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/pipelines.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn new(device: Arc, queue: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub label: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub pipeline: &'a wgpu::ComputePipeline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub bind_group: &'a wgpu::BindGroup, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/gpu/pipelines.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub workgroups: (u32, u32, u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for an associated function [INFO] [stdout] --> src/gpu/pipelines.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn new(device: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub width: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub height: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [INFO] [stdout] --> src/ui/mod.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub data: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing documentation for a struct field [WARN] too many lines in the log, truncating it