[INFO] cloning repository https://github.com/DrBrad/trynch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DrBrad/trynch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDrBrad%2Ftrynch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDrBrad%2Ftrynch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f11d07892d7ced8e47080bfc44a234b059ce466
[INFO] checking DrBrad/trynch against master#57f772f25c5ce2bd870d6f8c3ab318eaee5a3326 for pr-133502-22
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDrBrad%2Ftrynch" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/DrBrad/trynch
[INFO] finished tweaking git repo https://github.com/DrBrad/trynch
[INFO] tweaked toml for git repo https://github.com/DrBrad/trynch written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DrBrad/trynch on toolchain 57f772f25c5ce2bd870d6f8c3ab318eaee5a3326
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DrBrad/trynch 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" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nokhwa-bindings-windows v0.4.5
[INFO] [stderr]   Downloaded target-lexicon v0.13.3
[INFO] [stderr]   Downloaded v4l2-sys-mit v0.3.0
[INFO] [stderr]   Downloaded core-media-sys v0.1.2
[INFO] [stderr]   Downloaded nokhwa-bindings-linux v0.1.3
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.20.10
[INFO] [stderr]   Downloaded cairo-sys-rs v0.20.10
[INFO] [stderr]   Downloaded nokhwa-core v0.1.8
[INFO] [stderr]   Downloaded gsk4-sys v0.9.6
[INFO] [stderr]   Downloaded graphene-sys v0.20.10
[INFO] [stderr]   Downloaded gtk4-macros v0.9.5
[INFO] [stderr]   Downloaded gsk4 v0.9.6
[INFO] [stderr]   Downloaded nokhwa-bindings-macos v0.2.3
[INFO] [stderr]   Downloaded toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]   Downloaded gobject-sys v0.20.10
[INFO] [stderr]   Downloaded graphene-rs v0.20.10
[INFO] [stderr]   Downloaded system-deps v7.0.7
[INFO] [stderr]   Downloaded v4l v0.14.0
[INFO] [stderr]   Downloaded pango-sys v0.20.10
[INFO] [stderr]   Downloaded gdk-pixbuf v0.20.10
[INFO] [stderr]   Downloaded metal v0.18.0
[INFO] [stderr]   Downloaded cfg-expr v0.20.6
[INFO] [stderr]   Downloaded rusb v0.9.4
[INFO] [stderr]   Downloaded nokhwa v0.10.10
[INFO] [stderr]   Downloaded pango v0.20.12
[INFO] [stderr]   Downloaded gdk4-sys v0.9.6
[INFO] [stderr]   Downloaded cocoa v0.20.2
[INFO] [stderr]   Downloaded glib-macros v0.20.12
[INFO] [stderr]   Downloaded glib-sys v0.20.10
[INFO] [stderr]   Downloaded gio-sys v0.20.10
[INFO] [stderr]   Downloaded gdk4 v0.9.6
[INFO] [stderr]   Downloaded cairo-rs v0.20.12
[INFO] [stderr]   Downloaded gtk4-sys v0.9.6
[INFO] [stderr]   Downloaded libusb1-sys v0.7.0
[INFO] [stderr]   Downloaded gio v0.20.12
[INFO] [stderr]   Downloaded glib v0.20.12
[INFO] [stderr]   Downloaded gtk4 v0.9.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 067149a16b2fb8bac857554f8e1873d13d467e5c639e05f8817b440fa28dd969
[INFO] running `Command { std: "docker" "start" "-a" "067149a16b2fb8bac857554f8e1873d13d467e5c639e05f8817b440fa28dd969", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "067149a16b2fb8bac857554f8e1873d13d467e5c639e05f8817b440fa28dd969", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "067149a16b2fb8bac857554f8e1873d13d467e5c639e05f8817b440fa28dd969", kill_on_drop: false }`
[INFO] [stdout] 067149a16b2fb8bac857554f8e1873d13d467e5c639e05f8817b440fa28dd969
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+57f772f25c5ce2bd870d6f8c3ab318eaee5a3326" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 37dcde3cc8078c0a557e5a87d835bad59872f30ee2ee893b3a0f2dae7b708127
[INFO] running `Command { std: "docker" "start" "-a" "37dcde3cc8078c0a557e5a87d835bad59872f30ee2ee893b3a0f2dae7b708127", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling target-lexicon v0.13.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling version-compare v0.2.1
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling cfg-expr v0.20.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking bitstream-io v4.9.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling bindgen v0.65.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking avif-serialize v0.8.8
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling gio v0.20.12
[INFO] [stderr]     Checking zune-jpeg v0.4.21
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]     Checking zune-jpeg v0.5.12
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]    Compiling system-deps v7.0.7
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling glib-sys v0.20.10
[INFO] [stderr]    Compiling gobject-sys v0.20.10
[INFO] [stderr]    Compiling gio-sys v0.20.10
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.10
[INFO] [stderr]    Compiling pango-sys v0.20.10
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.20.10
[INFO] [stderr]    Compiling graphene-sys v0.20.10
[INFO] [stderr]    Compiling gdk4-sys v0.9.6
[INFO] [stderr]    Compiling gsk4-sys v0.9.6
[INFO] [stderr]    Compiling libusb1-sys v0.7.0
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling gtk4-sys v0.9.6
[INFO] [stderr]    Compiling nokhwa-bindings-macos v0.2.3
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]    Compiling rusb v0.9.4
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]    Compiling trynch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stdout] warning: unexpected `cfg` condition name: `profile`
[INFO] [stdout]   --> build.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[cfg(profile = "debug")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(profile, values("debug"))'] }
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `profile`
[INFO] [stdout]   --> build.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |     #[cfg(profile = "nightly")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(profile, values("nightly"))'] }
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `profile`
[INFO] [stdout]   --> build.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |     #[cfg(profile = "release")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(profile, values("release"))'] }
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]     Checking rdev v0.5.3
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling glib-macros v0.20.12
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling gtk4-macros v0.9.5
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking glib v0.20.12
[INFO] [stderr]    Compiling v4l2-sys-mit v0.3.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking tiff v0.10.3
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking v4l v0.14.0
[INFO] [stderr]     Checking ravif v0.12.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking cairo-rs v0.20.12
[INFO] [stderr]     Checking graphene-rs v0.20.10
[INFO] [stderr]     Checking nokhwa-core v0.1.8
[INFO] [stderr]     Checking nokhwa-bindings-linux v0.1.3
[INFO] [stderr]     Checking nokhwa-bindings-windows v0.4.5
[INFO] [stderr]     Checking nokhwa v0.10.10
[INFO] [stderr]     Checking gdk-pixbuf v0.20.10
[INFO] [stderr]     Checking pango v0.20.12
[INFO] [stderr]     Checking gdk4 v0.9.6
[INFO] [stderr]     Checking gsk4 v0.9.6
[INFO] [stderr]     Checking gtk4 v0.9.7
[INFO] [stdout] warning: unused import: `NativeExt`
[INFO] [stdout]  --> src/ui/gtk4/windows/main_window.rs:6:85
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gtk4::prelude::{ApplicationWindowExt, BoxExt, Cast, GtkWindowExt, ListModelExt, NativeExt, StyleContextExt, WidgetExt};
[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: `Cast`
[INFO] [stdout]  --> src/ui/gtk4/views/log_list_item.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk4::prelude::{Cast, StyleContextExt, WidgetExt};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Label`
[INFO] [stdout]  --> src/ui/gtk4/views/logs_view.rs:3:79
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gtk4::{gdk, style_context_add_provider_for_display, Builder, CssProvider, Label, ListBox, ScrolledWindow, Widget};
[INFO] [stdout]   |                                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk4::glib::property::PropertySet`
[INFO] [stdout]  --> src/ui/gtk4/views/logs_view.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gtk4::glib::property::PropertySet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Label`, `ListBox`, and `ScrolledWindow`
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:1:79
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gtk4::{gdk, style_context_add_provider_for_display, Builder, CssProvider, Label, ListBox, ScrolledWindow, Widget};
[INFO] [stdout]   |                                                                               ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActionMapExt`
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk4::prelude::{ActionMapExt, Cast};
[INFO] [stdout]   |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pause_event`, `register_event`, `resume_event`, and `unregister_event`
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::bus::event_bus::{pause_event, register_event, resume_event, unregister_event};
[INFO] [stdout]   |                             ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StyleContextExt`
[INFO] [stdout]  --> src/ui/gtk4/views/navigation_list_item.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk4::prelude::{StyleContextExt, WidgetExt};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk4::gdk::Texture`
[INFO] [stdout]  --> src/ui/gtk4/actions/window_actions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk4::gdk::Texture;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StyleContext`
[INFO] [stdout]  --> src/ui/gtk4/app.rs:1:107
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gtk4::{gdk, gio, style_context_add_provider_for_display, Application, Builder, CssProvider, Settings, StyleContext};
[INFO] [stdout]   |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileExt` and `StyleContextExt`
[INFO] [stdout]  --> src/ui/gtk4/app.rs:4:59
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk4::prelude::{ApplicationExt, ApplicationExtManual, FileExt, GtkApplicationExt, ObjectExt, StaticType, StyleContextExt};
[INFO] [stdout]   |                                                           ^^^^^^^                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gtk3`
[INFO] [stdout]  --> src/bus/event_bus.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(feature = "gtk3")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `gtk3` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gtk4`
[INFO] [stdout]   --> src/bus/event_bus.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "gtk4")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `gtk4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/utils/log_reader.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn read_log(&mut self) -> Result<Option<(String)>, LogReaderError> {
[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] 56 -     pub fn read_log(&mut self) -> Result<Option<(String)>, LogReaderError> {
[INFO] [stdout] 56 +     pub fn read_log(&mut self) -> Result<Option<String >, LogReaderError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/utils/log_reader.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     type Item = Result<(String), LogReaderError>;
[INFO] [stdout]    |                        ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -     type Item = Result<(String), LogReaderError>;
[INFO] [stdout] 85 +     type Item = Result<String , LogReaderError>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NativeExt`
[INFO] [stdout]  --> src/ui/gtk4/windows/main_window.rs:6:85
[INFO] [stdout]   |
[INFO] [stdout] 6 | use gtk4::prelude::{ApplicationWindowExt, BoxExt, Cast, GtkWindowExt, ListModelExt, NativeExt, StyleContextExt, WidgetExt};
[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: `Cast`
[INFO] [stdout]  --> src/ui/gtk4/views/log_list_item.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk4::prelude::{Cast, StyleContextExt, WidgetExt};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Label`
[INFO] [stdout]  --> src/ui/gtk4/views/logs_view.rs:3:79
[INFO] [stdout]   |
[INFO] [stdout] 3 | use gtk4::{gdk, style_context_add_provider_for_display, Builder, CssProvider, Label, ListBox, ScrolledWindow, Widget};
[INFO] [stdout]   |                                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk4::glib::property::PropertySet`
[INFO] [stdout]  --> src/ui/gtk4/views/logs_view.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use gtk4::glib::property::PropertySet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Label`, `ListBox`, and `ScrolledWindow`
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:1:79
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gtk4::{gdk, style_context_add_provider_for_display, Builder, CssProvider, Label, ListBox, ScrolledWindow, Widget};
[INFO] [stdout]   |                                                                               ^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActionMapExt`
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk4::prelude::{ActionMapExt, Cast};
[INFO] [stdout]   |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pause_event`, `register_event`, `resume_event`, and `unregister_event`
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::bus::event_bus::{pause_event, register_event, resume_event, unregister_event};
[INFO] [stdout]   |                             ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StyleContextExt`
[INFO] [stdout]  --> src/ui/gtk4/views/navigation_list_item.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk4::prelude::{StyleContextExt, WidgetExt};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk4::gdk::Texture`
[INFO] [stdout]  --> src/ui/gtk4/actions/window_actions.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk4::gdk::Texture;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StyleContext`
[INFO] [stdout]  --> src/ui/gtk4/app.rs:1:107
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gtk4::{gdk, gio, style_context_add_provider_for_display, Application, Builder, CssProvider, Settings, StyleContext};
[INFO] [stdout]   |                                                                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileExt` and `StyleContextExt`
[INFO] [stdout]  --> src/ui/gtk4/app.rs:4:59
[INFO] [stdout]   |
[INFO] [stdout] 4 | use gtk4::prelude::{ApplicationExt, ApplicationExtManual, FileExt, GtkApplicationExt, ObjectExt, StaticType, StyleContextExt};
[INFO] [stdout]   |                                                           ^^^^^^^                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gtk3`
[INFO] [stdout]  --> src/bus/event_bus.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[cfg(feature = "gtk3")]
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `gtk3` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gtk4`
[INFO] [stdout]   --> src/bus/event_bus.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "gtk4")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `gtk4` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/utils/log_reader.rs:56:49
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn read_log(&mut self) -> Result<Option<(String)>, LogReaderError> {
[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] 56 -     pub fn read_log(&mut self) -> Result<Option<(String)>, LogReaderError> {
[INFO] [stdout] 56 +     pub fn read_log(&mut self) -> Result<Option<String >, LogReaderError> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/utils/log_reader.rs:85:24
[INFO] [stdout]    |
[INFO] [stdout] 85 |     type Item = Result<(String), LogReaderError>;
[INFO] [stdout]    |                        ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 -     type Item = Result<(String), LogReaderError>;
[INFO] [stdout] 85 +     type Item = Result<String , LogReaderError>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WidgetExt`
[INFO] [stdout]  --> src/ui/gtk4/views/navigation_list_item.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk4::prelude::{StyleContextExt, WidgetExt};
[INFO] [stdout]   |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/gtk4/windows/main_window.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let mut previous = RefCell::new(String::new());
[INFO] [stdout]    |                 ----^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/ui/gtk4/views/log_list_item.rs:17:76
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(message: &str, detection: Detections, severity: Severities, time: Duration) -> Self {
[INFO] [stdout]    |                                                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/ui/gtk4/views/log_image_list_item.rs:18:73
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(file: &str, detection: Detections, severity: Severities, time: Duration) -> Self {
[INFO] [stdout]    |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/ui/gtk4/views/logs_view.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |             move |id, event| {
[INFO] [stdout]    |                   ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logs_layout`
[INFO] [stdout]   --> src/ui/gtk4/views/logs_view.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let logs_layout: ScrolledWindow = builder
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logs_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/ui/gtk4/views/archive_view.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(window: &MainWindow) -> Self {
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils/usb.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |             if let Ok(mut handle) = device.open() {
[INFO] [stdout]    |                       ----^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `serial` is assigned to, but never used
[INFO] [stdout]   --> src/utils/usb.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let mut serial = None;
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_serial` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `serial` is never read
[INFO] [stdout]   --> src/utils/usb.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                         serial = handle
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WidgetExt`
[INFO] [stdout]  --> src/ui/gtk4/views/navigation_list_item.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use gtk4::prelude::{StyleContextExt, WidgetExt};
[INFO] [stdout]   |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]   --> src/utils/log_reader.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let timestamp = line[..15].to_string();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/gtk4/windows/main_window.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let mut previous = RefCell::new(String::new());
[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: fields `top_bar` and `bottom_bar` are never read
[INFO] [stdout]   --> src/ui/gtk4/windows/main_window.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MainWindow {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub top_bar: TopBar,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 19 |     pub bottom_bar: BottomBar,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MainWindow` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_container`, `log`, and `time` are never read
[INFO] [stdout]   --> src/ui/gtk4/views/log_list_item.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct LogListItem {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  9 |     pub root: ListBoxRow,
[INFO] [stdout] 10 |     pub log_container: gtk4::Box,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub log: Label,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 12 |     pub time: Label
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_image_container`, `image`, and `time` are never read
[INFO] [stdout]   --> src/ui/gtk4/views/log_image_list_item.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct LogImageListItem {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 10 |     pub root: ListBoxRow,
[INFO] [stdout] 11 |     pub log_image_container: Overlay,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub image: RoundedPicture,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub time: Label
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logs_list` is never read
[INFO] [stdout]   --> src/ui/gtk4/views/logs_view.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct LogsView {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 18 |     pub root: gtk4::Box,
[INFO] [stdout] 19 |     pub logs_list: ListBox,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogsView` is never constructed
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LogsView {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/gtk4/views/archive_view.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl LogsView {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new(window: &MainWindow) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon` and `title` are never read
[INFO] [stdout]  --> src/ui/gtk4/views/navigation_list_item.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct NavigationListItem {
[INFO] [stdout]   |            ------------------ fields in this struct
[INFO] [stdout] 6 |     pub root: ListBoxRow,
[INFO] [stdout] 7 |     pub icon: Image,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub title: Label
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NavigationListItem` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]  --> src/ui/gtk4/views/top_bar.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TopBar {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub start: Button,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TopBar` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `license` is never read
[INFO] [stdout]  --> src/ui/gtk4/views/bottom_bar.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BottomBar {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 5 |     pub root: gtk4::Box,
[INFO] [stdout] 6 |     pub license: Label
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BottomBar` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_prevent_default`, `prevent_default`, `upcast`, `upcast_mut`, `dyn_clone`, and `as_any_mut` are never used
[INFO] [stdout]   --> src/bus/events/inter/event.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait Event: Send {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  7 |     fn is_prevent_default(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn prevent_default(&mut self);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     fn upcast(&self) -> &dyn Event;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     fn upcast_mut(&mut self) -> &mut dyn Event;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     fn dyn_clone(&self) -> Box<dyn Event>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn as_any_mut(&mut self) -> &mut dyn Any;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prevent_default` is never read
[INFO] [stdout]  --> src/bus/events/log_event.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct LogEvent {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 9 |     prevent_default: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LogEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Stop` is never constructed
[INFO] [stdout]   --> src/bus/event_bus.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum EventPropagation {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 17 |     Continue,
[INFO] [stdout] 18 |     Stop
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventPropagation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_array` is never used
[INFO] [stdout]   --> src/utils/random.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn gen_array<T, const N: usize>() -> [T; N]
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Capture` and `Mic` are never constructed
[INFO] [stdout]   --> src/utils/detections.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Detections {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     Capture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]  9 |     Motion,
[INFO] [stdout] 10 |     Mic
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Detections` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Good` and `Severe` are never constructed
[INFO] [stdout]  --> src/utils/severities.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Severities {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 6 |     Good,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Warning,
[INFO] [stdout] 8 |     Severe
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Severities` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogReader` is never constructed
[INFO] [stdout]  --> src/utils/log_reader.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LogReader {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogReaderError` is never constructed
[INFO] [stdout]   --> src/utils/log_reader.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct LogReaderError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorKind` is never used
[INFO] [stdout]   --> src/utils/log_reader.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum ErrorKind {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/utils/log_reader.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LogReaderError {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     pub fn new(_type: ErrorKind, message: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `read_log`, and `logs` are never used
[INFO] [stdout]   --> src/utils/log_reader.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl LogReader {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |     pub fn open<P: Into<PathBuf>>(file_path: P) -> Result<Self, LogReaderError> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn read_log(&mut self) -> Result<Option<(String)>, LogReaderError> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn logs(&mut self) -> LogReaderIter {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogReaderIter` is never constructed
[INFO] [stdout]   --> src/utils/log_reader.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct LogReaderIter<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Registration` that must be used
[INFO] [stdout]   --> src/utils/usb.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         HotplugBuilder::new().enumerate(true).register::<Context, _>(&context, Box::new(HotplugHandler)).unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: USB hotplug callbacks will be deregistered if the registration is dropped
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let _ = HotplugBuilder::new().enumerate(true).register::<Context, _>(&context, Box::new(HotplugHandler)).unwrap();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/utils/log_reader.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn logs(&mut self) -> LogReaderIter {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn logs(&mut self) -> LogReaderIter<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/ui/gtk4/views/log_list_item.rs:17:76
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(message: &str, detection: Detections, severity: Severities, time: Duration) -> Self {
[INFO] [stdout]    |                                                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/ui/gtk4/views/log_image_list_item.rs:18:73
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new(file: &str, detection: Detections, severity: Severities, time: Duration) -> Self {
[INFO] [stdout]    |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/ui/gtk4/views/logs_view.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |             move |id, event| {
[INFO] [stdout]    |                   ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `logs_layout`
[INFO] [stdout]   --> src/ui/gtk4/views/logs_view.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let logs_layout: ScrolledWindow = builder
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_logs_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> src/ui/gtk4/views/archive_view.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(window: &MainWindow) -> Self {
[INFO] [stdout]    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils/usb.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |             if let Ok(mut handle) = device.open() {
[INFO] [stdout]    |                       ----^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `serial` is assigned to, but never used
[INFO] [stdout]   --> src/utils/usb.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let mut serial = None;
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_serial` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `serial` is never read
[INFO] [stdout]   --> src/utils/usb.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                         serial = handle
[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: `timestamp`
[INFO] [stdout]   --> src/utils/log_reader.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let timestamp = line[..15].to_string();
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `top_bar` and `bottom_bar` are never read
[INFO] [stdout]   --> src/ui/gtk4/windows/main_window.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MainWindow {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub top_bar: TopBar,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 19 |     pub bottom_bar: BottomBar,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MainWindow` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_container`, `log`, and `time` are never read
[INFO] [stdout]   --> src/ui/gtk4/views/log_list_item.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct LogListItem {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  9 |     pub root: ListBoxRow,
[INFO] [stdout] 10 |     pub log_container: gtk4::Box,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub log: Label,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 12 |     pub time: Label
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_image_container`, `image`, and `time` are never read
[INFO] [stdout]   --> src/ui/gtk4/views/log_image_list_item.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct LogImageListItem {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 10 |     pub root: ListBoxRow,
[INFO] [stdout] 11 |     pub log_image_container: Overlay,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub image: RoundedPicture,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 13 |     pub time: Label
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logs_list` is never read
[INFO] [stdout]   --> src/ui/gtk4/views/logs_view.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct LogsView {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 18 |     pub root: gtk4::Box,
[INFO] [stdout] 19 |     pub logs_list: ListBox,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogsView` is never constructed
[INFO] [stdout]  --> src/ui/gtk4/views/archive_view.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LogsView {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/gtk4/views/archive_view.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl LogsView {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     pub fn new(window: &MainWindow) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon` and `title` are never read
[INFO] [stdout]  --> src/ui/gtk4/views/navigation_list_item.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct NavigationListItem {
[INFO] [stdout]   |            ------------------ fields in this struct
[INFO] [stdout] 6 |     pub root: ListBoxRow,
[INFO] [stdout] 7 |     pub icon: Image,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub title: Label
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NavigationListItem` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start` is never read
[INFO] [stdout]  --> src/ui/gtk4/views/top_bar.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TopBar {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub start: Button,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TopBar` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `license` is never read
[INFO] [stdout]  --> src/ui/gtk4/views/bottom_bar.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BottomBar {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 5 |     pub root: gtk4::Box,
[INFO] [stdout] 6 |     pub license: Label
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BottomBar` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_prevent_default`, `prevent_default`, `upcast`, `upcast_mut`, `dyn_clone`, and `as_any_mut` are never used
[INFO] [stdout]   --> src/bus/events/inter/event.rs:7:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait Event: Send {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  7 |     fn is_prevent_default(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     fn prevent_default(&mut self);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |
[INFO] [stdout] 11 |     fn upcast(&self) -> &dyn Event;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 12 |
[INFO] [stdout] 13 |     fn upcast_mut(&mut self) -> &mut dyn Event;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     fn dyn_clone(&self) -> Box<dyn Event>;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn as_any_mut(&mut self) -> &mut dyn Any;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prevent_default` is never read
[INFO] [stdout]  --> src/bus/events/log_event.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct LogEvent {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 9 |     prevent_default: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LogEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Stop` is never constructed
[INFO] [stdout]   --> src/bus/event_bus.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum EventPropagation {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 17 |     Continue,
[INFO] [stdout] 18 |     Stop
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventPropagation` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_array` is never used
[INFO] [stdout]   --> src/utils/random.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn gen_array<T, const N: usize>() -> [T; N]
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Capture` and `Mic` are never constructed
[INFO] [stdout]   --> src/utils/detections.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Detections {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     Capture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]  9 |     Motion,
[INFO] [stdout] 10 |     Mic
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Detections` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Good` and `Severe` are never constructed
[INFO] [stdout]  --> src/utils/severities.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Severities {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 6 |     Good,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Warning,
[INFO] [stdout] 8 |     Severe
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Severities` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogReader` is never constructed
[INFO] [stdout]  --> src/utils/log_reader.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct LogReader {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogReaderError` is never constructed
[INFO] [stdout]   --> src/utils/log_reader.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct LogReaderError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorKind` is never used
[INFO] [stdout]   --> src/utils/log_reader.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum ErrorKind {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/utils/log_reader.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LogReaderError {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     pub fn new(_type: ErrorKind, message: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open`, `read_log`, and `logs` are never used
[INFO] [stdout]   --> src/utils/log_reader.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl LogReader {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |     pub fn open<P: Into<PathBuf>>(file_path: P) -> Result<Self, LogReaderError> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn read_log(&mut self) -> Result<Option<(String)>, LogReaderError> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn logs(&mut self) -> LogReaderIter {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogReaderIter` is never constructed
[INFO] [stdout]   --> src/utils/log_reader.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct LogReaderIter<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Registration` that must be used
[INFO] [stdout]   --> src/utils/usb.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         HotplugBuilder::new().enumerate(true).register::<Context, _>(&context, Box::new(HotplugHandler)).unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: USB hotplug callbacks will be deregistered if the registration is dropped
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let _ = HotplugBuilder::new().enumerate(true).register::<Context, _>(&context, Box::new(HotplugHandler)).unwrap();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/utils/log_reader.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn logs(&mut self) -> LogReaderIter {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn logs(&mut self) -> LogReaderIter<'_> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] running `Command { std: "docker" "inspect" "37dcde3cc8078c0a557e5a87d835bad59872f30ee2ee893b3a0f2dae7b708127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37dcde3cc8078c0a557e5a87d835bad59872f30ee2ee893b3a0f2dae7b708127", kill_on_drop: false }`
[INFO] [stdout] 37dcde3cc8078c0a557e5a87d835bad59872f30ee2ee893b3a0f2dae7b708127
