[INFO] cloning repository https://github.com/Magicmaan/shabang-tui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Magicmaan/shabang-tui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMagicmaan%2Fshabang-tui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMagicmaan%2Fshabang-tui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3bd99725d43f25f8935921b704efe3737e1dd26f
[INFO] checking Magicmaan/shabang-tui against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMagicmaan%2Fshabang-tui" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Magicmaan/shabang-tui
[INFO] finished tweaking git repo https://github.com/Magicmaan/shabang-tui
[INFO] tweaked toml for git repo https://github.com/Magicmaan/shabang-tui written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Magicmaan/shabang-tui on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Magicmaan/shabang-tui 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" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2721a4c968ce729671ac5ca7d7a862b5f31174f86acab0c0966ca34fd9def84a
[INFO] running `Command { std: "docker" "start" "-a" "2721a4c968ce729671ac5ca7d7a862b5f31174f86acab0c0966ca34fd9def84a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2721a4c968ce729671ac5ca7d7a862b5f31174f86acab0c0966ca34fd9def84a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2721a4c968ce729671ac5ca7d7a862b5f31174f86acab0c0966ca34fd9def84a", kill_on_drop: false }`
[INFO] [stdout] 2721a4c968ce729671ac5ca7d7a862b5f31174f86acab0c0966ca34fd9def84a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 953fbc509161ac67adc0772f38c5bf5ef61e4fe97f174286401a9a34834ece5c
[INFO] running `Command { std: "docker" "start" "-a" "953fbc509161ac67adc0772f38c5bf5ef61e4fe97f174286401a9a34834ece5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling gix-trace v0.1.15
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling jiff v0.2.16
[INFO] [stderr]    Compiling gix-utils v0.3.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling memmap2 v0.9.9
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling prodash v29.0.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling unicode-bom v2.0.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling gix-features v0.42.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling kstring v2.0.2
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]    Compiling gix-sec v0.10.12
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling sha1-checked v0.10.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling camino v1.2.1
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling vergen-lib v0.1.6
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling imara-diff v0.1.8
[INFO] [stderr]    Compiling clru v0.6.2
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling pest v2.8.3
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling vergen v9.0.6
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling pest_meta v2.8.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling gix-utils v0.2.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]    Compiling vergen-gix v1.0.9
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling owo-colors v4.2.3
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking rustc-demangle v0.1.26
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]    Compiling pest_generator v2.8.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling maybe-async v0.2.10
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling pest_derive v2.8.3
[INFO] [stderr]     Checking terminal_size v0.4.3
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking toml_parser v1.0.4
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking toml_datetime v0.7.3
[INFO] [stderr]     Checking serde_spanned v1.0.3
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]    Compiling bon-macros v3.8.1
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]    Compiling gix-validate v0.10.1
[INFO] [stderr]    Compiling gix-date v0.9.4
[INFO] [stderr]    Compiling gix-validate v0.9.4
[INFO] [stderr]    Compiling gix-chunk v0.4.12
[INFO] [stderr]    Compiling gix-path v0.10.21
[INFO] [stderr]    Compiling gix-quote v0.5.0
[INFO] [stderr]    Compiling gix-bitmap v0.2.15
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]    Compiling gix-actor v0.34.0
[INFO] [stderr]     Checking indenter v0.3.4
[INFO] [stderr]     Checking toml_writer v1.0.4
[INFO] [stderr]     Checking unicase v2.8.1
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]    Compiling gix-features v0.41.1
[INFO] [stderr]    Compiling gix-fs v0.15.0
[INFO] [stderr]    Compiling gix-config-value v0.14.12
[INFO] [stderr]    Compiling gix-command v0.5.0
[INFO] [stderr]     Checking toml v0.9.8
[INFO] [stderr]     Checking clap_builder v4.5.51
[INFO] [stderr]    Compiling gix-tempfile v17.1.0
[INFO] [stderr]    Compiling gix-fs v0.14.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling gix-glob v0.19.0
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling gix-lock v17.1.0
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]    Compiling gix-attributes v0.25.0
[INFO] [stderr]    Compiling gix-ignore v0.14.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling gix-pathspec v0.10.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling faster-hex v0.9.0
[INFO] [stderr]    Compiling faster-hex v0.10.0
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling gix-hash v0.17.0
[INFO] [stderr]    Compiling gix-packetline-blocking v0.18.3
[INFO] [stderr]    Compiling gix-hash v0.18.0
[INFO] [stderr]    Compiling gix-packetline v0.18.4
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking os_info v3.13.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]    Compiling gix-hashtable v0.8.1
[INFO] [stderr]    Compiling gix-commitgraph v0.27.0
[INFO] [stderr]    Compiling gix-object v0.48.0
[INFO] [stderr]    Compiling gix-shallow v0.3.0
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking quick-xml v0.21.0
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking nucleo-matcher v0.3.1
[INFO] [stderr]     Checking vte v0.14.1
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking anpa v0.10.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking lexers v0.1.4
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking tini v1.3.0
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking better-panic v0.3.0
[INFO] [stderr]     Checking color-eyre v0.6.5
[INFO] [stderr]    Compiling gix-url v0.30.0
[INFO] [stderr]     Checking shunting v0.1.2
[INFO] [stderr]     Checking strip-ansi-escapes v0.2.1
[INFO] [stderr]     Checking clap v4.5.51
[INFO] [stderr]     Checking human-panic v2.0.4
[INFO] [stderr]    Compiling derive_deref v1.1.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking rusqlite v0.37.0
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking ftail v0.3.1
[INFO] [stderr]     Checking term_size v0.3.2
[INFO] [stderr]     Checking xdgkit v3.2.5
[INFO] [stderr]     Checking nucleo v0.5.0
[INFO] [stderr]     Checking maths-rs v0.2.7
[INFO] [stderr]    Compiling gix-transport v0.46.0
[INFO] [stderr]     Checking xdg v3.0.0
[INFO] [stderr]    Compiling gix-revwalk v0.19.0
[INFO] [stderr]    Compiling gix-ref v0.51.0
[INFO] [stderr]    Compiling gix-filter v0.18.0
[INFO] [stderr]    Compiling gix-pack v0.58.0
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking bon v3.8.1
[INFO] [stderr]    Compiling gix-traverse v0.45.0
[INFO] [stderr]    Compiling gix-revision v0.33.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]    Compiling gix-refspec v0.29.0
[INFO] [stderr]    Compiling gix-odb v0.68.0
[INFO] [stderr]    Compiling gix-index v0.39.0
[INFO] [stderr]     Checking tui-scrollview v0.5.3
[INFO] [stderr]     Checking tachyonfx v0.20.1
[INFO] [stderr]     Checking tui-textarea v0.7.0
[INFO] [stderr]    Compiling gix-discover v0.39.0
[INFO] [stderr]    Compiling gix-config v0.44.0
[INFO] [stderr]    Compiling gix-protocol v0.49.0
[INFO] [stderr]    Compiling gix-worktree v0.40.0
[INFO] [stderr]    Compiling gix-diff v0.51.0
[INFO] [stderr]    Compiling gix-dir v0.13.0
[INFO] [stderr]    Compiling gix-status v0.18.0
[INFO] [stderr]    Compiling gix-submodule v0.18.0
[INFO] [stderr]    Compiling gix v0.71.0
[INFO] [stderr]    Compiling rook v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Constraint` and `Position`
[INFO] [stdout]  --> src/app.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     layout::{Constraint, Position},
[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: `rusqlite::params`
[INFO] [stdout]  --> src/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rusqlite::params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]   --> src/app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::Result`
[INFO] [stdout]  --> src/common/application.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color_eyre::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::eyre::eyre`
[INFO] [stdout]  --> src/common/application.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use color_eyre::eyre::eyre;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/common/application.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::App`
[INFO] [stdout]  --> src/common/application.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::app::App;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/common/layout.rs:1:45
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, hash::Hash, rc::Rc};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Frame`
[INFO] [stdout]  --> src/common/layout.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Frame,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ser::SerializeStruct`
[INFO] [stdout]  --> src/common/layout.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize, Serialize, ser::SerializeStruct};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/common/module_state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::layout::Rect`
[INFO] [stdout]  --> src/common/module_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::layout::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ser::SerializeStruct`
[INFO] [stdout]  --> src/common/module_state.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize, ser::SerializeStruct};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/components/list.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Event`, `list`, and `self`
[INFO] [stdout]   --> src/components/list.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         list,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     tui::{self, Event},
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode`, `KeyEventKind`, `MouseButton`, and `MouseEventKind`
[INFO] [stdout]  --> src/components/results.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crossterm::event::{KeyCode, KeyEventKind, MouseButton, MouseEventKind};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/components/results.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Layout`, `Margin`, and `Offset`
[INFO] [stdout]   --> src/components/results.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ratatui::layout::{Constraint, Layout, Margin, Offset};
[INFO] [stdout]    |                       ^^^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::symbols`
[INFO] [stdout]   --> src/components/results.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ratatui::symbols;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stdout]   --> src/components/results.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     widgets::{Block, ListItem, Padding, StatefulWidget, Widget},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Number`
[INFO] [stdout]   --> src/components/results.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use serde_json::Number;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `EffectManager`, `EffectTimer`, `Interpolation`, and `fx`
[INFO] [stdout]   --> src/components/results.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tachyonfx::{Duration, EffectManager, EffectTimer, Interpolation, fx, pattern};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/components/results.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 |         if (!self.focused) {
[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] 240 -         if (!self.focused) {
[INFO] [stdout] 240 +         if !self.focused  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rainbow`
[INFO] [stdout]  --> src/components/search.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 |     effects::{self, rainbow},
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEvent`
[INFO] [stdout]  --> src/components/search.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crossterm::event::{KeyCode, KeyEvent, KeyEventKind};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Layout`, `Line`, `Span`, `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stdout]   --> src/components/search.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     layout::{Layout, Rect},
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 13 |     style::{Color, Style},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 14 |     text::{Line, Span},
[INFO] [stdout]    |            ^^^^  ^^^^
[INFO] [stdout] 15 |     widgets::{Block, Padding, Paragraph, StatefulWidget, Widget},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `layout::Constraint`
[INFO] [stdout]   --> src/components/search.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ratatui::{layout::Constraint, widgets::Borders};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/components/search.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 if (focus == self.focus_area()) {
[INFO] [stdout]     |                    ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                 if (focus == self.focus_area()) {
[INFO] [stdout] 117 +                 if focus == self.focus_area()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode`, `KeyEventKind`, and `MouseEventKind`
[INFO] [stdout]  --> src/components/wizard.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crossterm::event::{KeyCode, KeyEventKind, MouseEventKind};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/components/wizard.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::min;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/components/wizard.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/wizard.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ScrollViewState` and `ScrollView`
[INFO] [stdout]  --> src/components/wizard.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tui_scrollview::{ScrollView, ScrollViewState};
[INFO] [stdout]   |                      ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::effects`
[INFO] [stdout]   --> src/components/wizard.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::effects;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Layout`, `Margin`, `Offset`, and `Position`
[INFO] [stdout]   --> src/components/wizard.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ratatui::layout::{Constraint, Layout, Margin, Offset, Position};
[INFO] [stdout]    |                       ^^^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::symbols`
[INFO] [stdout]   --> src/components/wizard.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ratatui::symbols;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Paragraph`
[INFO] [stdout]   --> src/components/wizard.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ratatui::widgets::{Borders, Paragraph};
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stdout]   --> src/components/wizard.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     layout::Rect,
[INFO] [stdout] 27 |     style::{Color, Style},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 28 |     text::{Line, Span},
[INFO] [stdout] 29 |     widgets::{Block, ListItem, Padding, StatefulWidget, Widget},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Number`
[INFO] [stdout]   --> src/components/wizard.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use serde_json::Number;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `EffectManager`, `EffectTimer`, `Interpolation`, `fx`, and `pattern`
[INFO] [stdout]   --> src/components/wizard.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | use tachyonfx::{Duration, EffectManager, EffectTimer, Interpolation, fx, pattern};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::EnumString`
[INFO] [stdout]  --> src/action.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use strum::EnumString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `components::Component`
[INFO] [stdout]  --> src/action.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 |     app::FocusArea, common::layout::RootLayout, components::Component, search_modules::ListResult,
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/database.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use derive_deref::{Deref, DerefMut};
[INFO] [stdout]   |                    ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::sink::Send`
[INFO] [stdout]  --> src/database.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::sink::Send;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/database.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/effects.rs:34:51
[INFO] [stdout]    |
[INFO] [stdout] 34 |     effects.process_effects(Duration::from_millis((t)), buf, area);
[INFO] [stdout]    |                                                   ^ ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 34 -     effects.process_effects(Duration::from_millis((t)), buf, area);
[INFO] [stdout] 34 +     effects.process_effects(Duration::from_millis(t ), buf, area);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_error::ErrorLayer`
[INFO] [stdout]  --> src/logging.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tracing_error::ErrorLayer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/logging.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing_subscriber::{EnvFilter, fmt, prelude::*};
[INFO] [stdout]   |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::Result`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use color_eyre::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::eyre::eyre`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use color_eyre::eyre::eyre;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `os::unix::process::CommandExt`
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, os::unix::process::CommandExt};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `app::App`
[INFO] [stdout]  --> src/search_modules/applications/desktop_files_module.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     app::App,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `settings::settings::Settings`
[INFO] [stdout]  --> src/search_modules/maths/maths_module.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     settings::settings::Settings,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::Config`
[INFO] [stdout]  --> src/settings/settings.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::SerializeStruct`
[INFO] [stdout]  --> src/settings/settings.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::ser::SerializeStruct;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Search`
[INFO] [stdout]   --> src/settings/settings.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::action::{Action, Search};
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/settings/settings.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if (self.code == KeyCode::Null) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -         if (self.code == KeyCode::Null) {
[INFO] [stdout] 68 +         if self.code == KeyCode::Null  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::Component`
[INFO] [stdout]   --> src/tui.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::components::Component;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint` and `Position`
[INFO] [stdout]  --> src/app.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     layout::{Constraint, Position},
[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: `rusqlite::params`
[INFO] [stdout]  --> src/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rusqlite::params;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]   --> src/app.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     rc::Rc,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::Result`
[INFO] [stdout]  --> src/common/application.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color_eyre::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::eyre::eyre`
[INFO] [stdout]  --> src/common/application.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use color_eyre::eyre::eyre;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/common/application.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::app::App`
[INFO] [stdout]  --> src/common/application.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::app::App;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/common/layout.rs:1:45
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, hash::Hash, rc::Rc};
[INFO] [stdout]   |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Frame`
[INFO] [stdout]  --> src/common/layout.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     Frame,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ser::SerializeStruct`
[INFO] [stdout]  --> src/common/layout.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize, Serialize, ser::SerializeStruct};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/common/module_state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::layout::Rect`
[INFO] [stdout]  --> src/common/module_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::layout::Rect;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ser::SerializeStruct`
[INFO] [stdout]  --> src/common/module_state.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize, ser::SerializeStruct};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/components/list.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Event`, `list`, and `self`
[INFO] [stdout]   --> src/components/list.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         list,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     tui::{self, Event},
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode`, `KeyEventKind`, `MouseButton`, and `MouseEventKind`
[INFO] [stdout]  --> src/components/results.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crossterm::event::{KeyCode, KeyEventKind, MouseButton, MouseEventKind};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/components/results.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Layout`, `Margin`, and `Offset`
[INFO] [stdout]   --> src/components/results.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ratatui::layout::{Constraint, Layout, Margin, Offset};
[INFO] [stdout]    |                       ^^^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::symbols`
[INFO] [stdout]   --> src/components/results.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ratatui::symbols;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stdout]   --> src/components/results.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     widgets::{Block, ListItem, Padding, StatefulWidget, Widget},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Number`
[INFO] [stdout]   --> src/components/results.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use serde_json::Number;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `EffectManager`, `EffectTimer`, `Interpolation`, and `fx`
[INFO] [stdout]   --> src/components/results.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tachyonfx::{Duration, EffectManager, EffectTimer, Interpolation, fx, pattern};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/components/results.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 |         if (!self.focused) {
[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] 240 -         if (!self.focused) {
[INFO] [stdout] 240 +         if !self.focused  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rainbow`
[INFO] [stdout]  --> src/components/search.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 |     effects::{self, rainbow},
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEvent`
[INFO] [stdout]  --> src/components/search.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crossterm::event::{KeyCode, KeyEvent, KeyEventKind};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Layout`, `Line`, `Span`, `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stdout]   --> src/components/search.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     layout::{Layout, Rect},
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 13 |     style::{Color, Style},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 14 |     text::{Line, Span},
[INFO] [stdout]    |            ^^^^  ^^^^
[INFO] [stdout] 15 |     widgets::{Block, Padding, Paragraph, StatefulWidget, Widget},
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `layout::Constraint`
[INFO] [stdout]   --> src/components/search.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ratatui::{layout::Constraint, widgets::Borders};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/components/search.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 if (focus == self.focus_area()) {
[INFO] [stdout]     |                    ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                 if (focus == self.focus_area()) {
[INFO] [stdout] 117 +                 if focus == self.focus_area()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode`, `KeyEventKind`, and `MouseEventKind`
[INFO] [stdout]  --> src/components/wizard.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crossterm::event::{KeyCode, KeyEventKind, MouseEventKind};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]  --> src/components/wizard.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::min;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/components/wizard.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/components/wizard.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ScrollViewState` and `ScrollView`
[INFO] [stdout]  --> src/components/wizard.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tui_scrollview::{ScrollView, ScrollViewState};
[INFO] [stdout]   |                      ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::effects`
[INFO] [stdout]   --> src/components/wizard.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::effects;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Layout`, `Margin`, `Offset`, and `Position`
[INFO] [stdout]   --> src/components/wizard.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 | use ratatui::layout::{Constraint, Layout, Margin, Offset, Position};
[INFO] [stdout]    |                       ^^^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::symbols`
[INFO] [stdout]   --> src/components/wizard.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ratatui::symbols;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Paragraph`
[INFO] [stdout]   --> src/components/wizard.rs:23:33
[INFO] [stdout]    |
[INFO] [stdout] 23 | use ratatui::widgets::{Borders, Paragraph};
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stdout]   --> src/components/wizard.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     buffer::Buffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     layout::Rect,
[INFO] [stdout] 27 |     style::{Color, Style},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 28 |     text::{Line, Span},
[INFO] [stdout] 29 |     widgets::{Block, ListItem, Padding, StatefulWidget, Widget},
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Number`
[INFO] [stdout]   --> src/components/wizard.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use serde_json::Number;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `EffectManager`, `EffectTimer`, `Interpolation`, `fx`, and `pattern`
[INFO] [stdout]   --> src/components/wizard.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 | use tachyonfx::{Duration, EffectManager, EffectTimer, Interpolation, fx, pattern};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::EnumString`
[INFO] [stdout]  --> src/action.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use strum::EnumString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `components::Component`
[INFO] [stdout]  --> src/action.rs:6:49
[INFO] [stdout]   |
[INFO] [stdout] 6 |     app::FocusArea, common::layout::RootLayout, components::Component, search_modules::ListResult,
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/database.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use derive_deref::{Deref, DerefMut};
[INFO] [stdout]   |                    ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::sink::Send`
[INFO] [stdout]  --> src/database.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::sink::Send;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/database.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/effects.rs:34:51
[INFO] [stdout]    |
[INFO] [stdout] 34 |     effects.process_effects(Duration::from_millis((t)), buf, area);
[INFO] [stdout]    |                                                   ^ ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 34 -     effects.process_effects(Duration::from_millis((t)), buf, area);
[INFO] [stdout] 34 +     effects.process_effects(Duration::from_millis(t ), buf, area);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_error::ErrorLayer`
[INFO] [stdout]  --> src/logging.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tracing_error::ErrorLayer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt`
[INFO] [stdout]  --> src/logging.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing_subscriber::{EnvFilter, fmt, prelude::*};
[INFO] [stdout]   |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::Result`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use color_eyre::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_eyre::eyre::eyre`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use color_eyre::eyre::eyre;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/search_modules/applications/desktop.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `os::unix::process::CommandExt`
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{collections::HashMap, os::unix::process::CommandExt};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `app::App`
[INFO] [stdout]  --> src/search_modules/applications/desktop_files_module.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     app::App,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `settings::settings::Settings`
[INFO] [stdout]  --> src/search_modules/maths/maths_module.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     settings::settings::Settings,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::Config`
[INFO] [stdout]  --> src/settings/settings.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::SerializeStruct`
[INFO] [stdout]  --> src/settings/settings.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::ser::SerializeStruct;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Search`
[INFO] [stdout]   --> src/settings/settings.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::action::{Action, Search};
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/settings/settings.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if (self.code == KeyCode::Null) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -         if (self.code == KeyCode::Null) {
[INFO] [stdout] 68 +         if self.code == KeyCode::Null  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers as Mod`
[INFO] [stdout]    --> src/settings/settings.rs:818:9
[INFO] [stdout]     |
[INFO] [stdout] 818 |     use KeyModifiers as Mod;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyEvent`
[INFO] [stdout]    --> src/settings/settings.rs:819:37
[INFO] [stdout]     |
[INFO] [stdout] 819 |     use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]     |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::ListState`
[INFO] [stdout]    --> src/settings/settings.rs:822:9
[INFO] [stdout]     |
[INFO] [stdout] 822 |     use ratatui::widgets::ListState;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::Component`
[INFO] [stdout]   --> src/tui.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::components::Component;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/logging.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing_subscriber::{EnvFilter, fmt, prelude::*};
[INFO] [stdout]   |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/logging.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing_subscriber::{EnvFilter, fmt, prelude::*};
[INFO] [stdout]   |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]    --> src/settings/settings.rs:825:9
[INFO] [stdout]     |
[INFO] [stdout] 825 |     use std::fmt::Write;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action_tx`
[INFO] [stdout]    --> src/app.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let action_tx = self.action_tx.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_action_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/app.rs:214:34
[INFO] [stdout]     |
[INFO] [stdout] 214 |             MouseEventKind::Down(button) => {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action_tx`
[INFO] [stdout]    --> src/app.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let action_tx = self.action_tx.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_action_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]    --> src/app.rs:214:34
[INFO] [stdout]     |
[INFO] [stdout] 214 |             MouseEventKind::Down(button) => {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/common/application.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 |             (Application::DesktopFile(a, x), Application::DesktopFile(b, y)) => x == y,
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/common/application.rs:43:71
[INFO] [stdout]    |
[INFO] [stdout] 43 |             (Application::DesktopFile(a, x), Application::DesktopFile(b, y)) => x == y,
[INFO] [stdout]    |                                                                       ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/common/application.rs:43:39
[INFO] [stdout]    |
[INFO] [stdout] 43 |             (Application::DesktopFile(a, x), Application::DesktopFile(b, y)) => x == y,
[INFO] [stdout]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/common/application.rs:43:71
[INFO] [stdout]    |
[INFO] [stdout] 43 |             (Application::DesktopFile(a, x), Application::DesktopFile(b, y)) => x == y,
[INFO] [stdout]    |                                                                       ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `desktop_entry`
[INFO] [stdout]    --> src/common/application.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Application::DesktopFile(desktop_entry, path) => Some(path.clone()),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_desktop_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `desktop_entry`
[INFO] [stdout]    --> src/common/application.rs:119:38
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Application::DesktopFile(desktop_entry, path) => Some(path.clone()),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_desktop_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui_gap`
[INFO] [stdout]    --> src/common/layout.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let ui_gap = ui_settings.layout.gap;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_gap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui_gap`
[INFO] [stdout]    --> src/common/layout.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let ui_gap = ui_settings.layout.gap;
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_gap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings`
[INFO] [stdout]   --> src/components/list.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         settings: &settings::settings::Settings,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings`
[INFO] [stdout]    --> src/components/list.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         settings: &settings::settings::Settings,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings`
[INFO] [stdout]   --> src/components/list.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         settings: &settings::settings::Settings,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settings`
[INFO] [stdout]    --> src/components/list.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         settings: &settings::settings::Settings,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/list.rs:200:21
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let mut selected_color = theme.accent.unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/list.rs:200:21
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 let mut selected_color = theme.accent.unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/components/results.rs:291:52
[INFO] [stdout]     |
[INFO] [stdout] 291 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/components/results.rs:291:52
[INFO] [stdout]     |
[INFO] [stdout] 291 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/components/search.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/components/search.rs:131:52
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/wizard.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 let mut prepend_icon = number_to_icon(i, number_mode);
[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/components/wizard.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut text_color = theme.text.unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/wizard.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let mut muted_color = theme.text_muted.unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executing_item`
[INFO] [stdout]   --> src/components/wizard.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         executing_item: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executing_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list_state`
[INFO] [stdout]   --> src/components/wizard.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         list_state: &ListState,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tick`
[INFO] [stdout]   --> src/components/wizard.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         tick: u64,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_tick`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `available_height`
[INFO] [stdout]   --> src/components/wizard.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let available_height = area.height as usize;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/wizard.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 let mut prepend_icon = number_to_icon(i, number_mode);
[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/components/wizard.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 let mut text_color = theme.text.unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/wizard.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 let mut muted_color = theme.text_muted.unwrap();
[INFO] [stdout]     |                     ----^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executing_item`
[INFO] [stdout]   --> src/components/wizard.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         executing_item: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executing_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list_state`
[INFO] [stdout]   --> src/components/wizard.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         list_state: &ListState,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tick`
[INFO] [stdout]   --> src/components/wizard.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         tick: u64,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_tick`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `available_height`
[INFO] [stdout]   --> src/components/wizard.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let available_height = area.height as usize;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/components/wizard.rs:219:52
[INFO] [stdout]     |
[INFO] [stdout] 219 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results_theme`
[INFO] [stdout]    --> src/components/wizard.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let results_theme = theme.get_results_colors();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/components/wizard.rs:219:52
[INFO] [stdout]     |
[INFO] [stdout] 219 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stdout]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results_theme`
[INFO] [stdout]    --> src/components/wizard.rs:229:13
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let results_theme = theme.get_results_colors();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transaction`
[INFO] [stdout]   --> src/database.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         transaction: &rusqlite::Transaction,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/effects.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut timer = timer;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_color`
[INFO] [stdout]  --> src/effects.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     start_color: Color,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fx` is never read
[INFO] [stdout]   --> src/effects.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut fx = fx_rainbow;
[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: `transaction`
[INFO] [stdout]   --> src/database.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         transaction: &rusqlite::Transaction,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/effects.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut timer = timer;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_color`
[INFO] [stdout]  --> src/effects.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     start_color: Color,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fx` is never read
[INFO] [stdout]   --> src/effects.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut fx = fx_rainbow;
[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: `env_filter`
[INFO] [stdout]   --> src/logging.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let env_filter = env_filter
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env_filter`
[INFO] [stdout]   --> src/logging.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let env_filter = env_filter
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let content: String = fs::read_to_string(path).expect("Failed to read desktop file");
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let content: String = fs::read_to_string(path).expect("Failed to read desktop file");
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/search_modules/applications/desktop_files_module.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `entry_count` is never read
[INFO] [stdout]   --> src/search_modules/applications/desktop_files_module.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let mut entry_count = 0;
[INFO] [stdout]    |                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/search_modules/applications/desktop_files_module.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     Err(e) => {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `entry_count` is never read
[INFO] [stdout]   --> src/search_modules/applications/desktop_files_module.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let mut entry_count = 0;
[INFO] [stdout]    |                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode` and `last_tick_mouse_events` are never read
[INFO] [stdout]   --> src/app.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct App {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     mode: Mode,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 79 |     last_tick_key_events: Vec<KeyEvent>,
[INFO] [stdout] 80 |     last_tick_mouse_events: Vec<MouseEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TerminalCommand` is never constructed
[INFO] [stdout]   --> src/common/application.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum Application {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 37 |     DesktopFile(DesktopEntry, String), // DesktopEntry and its path
[INFO] [stdout] 38 |     TerminalCommand(TerminalCommand, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Application` 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: method `path` is never used
[INFO] [stdout]    --> src/common/application.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl Application {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn path(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_minimum_size` is never used
[INFO] [stdout]    --> src/common/layout.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn calculate_minimum_size(settings: &Settings) -> Size {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register_database_handler` is never used
[INFO] [stdout]   --> src/components/mod.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Component {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn register_database_handler(&mut self, database: Arc<Mutex<Database>>) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_last` and `select_first` are never used
[INFO] [stdout]   --> src/components/list.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ListState {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn select_last(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn select_first(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResultBoxState` is never constructed
[INFO] [stdout]   --> src/components/results.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ResultBoxState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `previous_results` is never read
[INFO] [stdout]   --> src/components/results.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ResultsBox {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     previous_results: Vec<ListResult>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultsBox` 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 `get_loading_spinner`, `construct_list`, and `execute_selected` are never used
[INFO] [stdout]    --> src/components/results.rs:81:8
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl ResultsBox {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn get_loading_spinner(&self, tick: u64) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn construct_list(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn execute_selected(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_minimum_size` is never used
[INFO] [stdout]    --> src/components/util.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn calculate_minimum_size(settings: &Settings) -> Rect {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `construct_list` is never used
[INFO] [stdout]   --> src/components/wizard.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl WizardBox {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn construct_list(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `KeyEvent`, `MouseEvent`, `FocusToggle`, and `Unfocus` are never constructed
[INFO] [stdout]   --> src/action.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     KeyEvent(KeyEvent),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 33 |     MouseEvent(MouseEvent),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     FocusToggle,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 53 |     Unfocus,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]  --> src/database.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Database {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 8 |     path: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_connection` and `insert_application` are never used
[INFO] [stdout]   --> src/database.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_connection(&self) -> &Connection {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn insert_application(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]   --> src/logging.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn init() -> Result<()> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_action_handler`, `execute`, and `get_applications` are never used
[INFO] [stdout]   --> src/search_modules/mod.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait SearchModule {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn register_action_handler(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn execute(&mut self, result: &ListResult) -> () {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn get_applications(&self) -> Vec<Rc<crate::common::application::Application>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clone_box` is never used
[INFO] [stdout]   --> src/search_modules/mod.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn clone_box<F: Fn() + Send + Sync + 'static>(f: F) -> Box<dyn Fn() + Send + Sync> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_executable_name` is never used
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn parse_executable_name(exec: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_executable_args` is never used
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn parse_executable_args(exec: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `launch` is never used
[INFO] [stdout]   --> src/search_modules/maths/maths_module.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Equation {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 18 |     pub fn launch(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_optional_field` is never used
[INFO] [stdout]    --> src/settings/serialise.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn deserialize_optional_field<'de, T, D>(deserializer: D) -> Result<Option<Option<T>>, D::Error>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mode` and `last_tick_mouse_events` are never read
[INFO] [stdout]   --> src/app.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct App {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     mode: Mode,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 79 |     last_tick_key_events: Vec<KeyEvent>,
[INFO] [stdout] 80 |     last_tick_mouse_events: Vec<MouseEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TerminalCommand` is never constructed
[INFO] [stdout]   --> src/common/application.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum Application {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 37 |     DesktopFile(DesktopEntry, String), // DesktopEntry and its path
[INFO] [stdout] 38 |     TerminalCommand(TerminalCommand, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Application` 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: method `path` is never used
[INFO] [stdout]    --> src/common/application.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl Application {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn path(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_minimum_size` is never used
[INFO] [stdout]    --> src/common/layout.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub fn calculate_minimum_size(settings: &Settings) -> Size {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register_database_handler` is never used
[INFO] [stdout]   --> src/components/mod.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub trait Component {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn register_database_handler(&mut self, database: Arc<Mutex<Database>>) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_last` and `select_first` are never used
[INFO] [stdout]   --> src/components/list.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ListState {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn select_last(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn select_first(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResultBoxState` is never constructed
[INFO] [stdout]   --> src/components/results.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ResultBoxState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `previous_results` is never read
[INFO] [stdout]   --> src/components/results.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ResultsBox {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     previous_results: Vec<ListResult>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResultsBox` 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 `get_loading_spinner`, `construct_list`, and `execute_selected` are never used
[INFO] [stdout]    --> src/components/results.rs:81:8
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl ResultsBox {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn get_loading_spinner(&self, tick: u64) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn construct_list(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn execute_selected(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_minimum_size` is never used
[INFO] [stdout]    --> src/components/util.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn calculate_minimum_size(settings: &Settings) -> Rect {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `construct_list` is never used
[INFO] [stdout]   --> src/components/wizard.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl WizardBox {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn construct_list(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `KeyEvent`, `MouseEvent`, `FocusToggle`, and `Unfocus` are never constructed
[INFO] [stdout]   --> src/action.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     KeyEvent(KeyEvent),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 33 |     MouseEvent(MouseEvent),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     FocusToggle,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 53 |     Unfocus,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]  --> src/database.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Database {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 8 |     path: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_connection` and `insert_application` are never used
[INFO] [stdout]   --> src/database.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Database {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_connection(&self) -> &Connection {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn insert_application(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]   --> src/logging.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn init() -> Result<()> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_action_handler`, `execute`, and `get_applications` are never used
[INFO] [stdout]   --> src/search_modules/mod.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait SearchModule {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn register_action_handler(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn execute(&mut self, result: &ListResult) -> () {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn get_applications(&self) -> Vec<Rc<crate::common::application::Application>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clone_box` is never used
[INFO] [stdout]   --> src/search_modules/mod.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn clone_box<F: Fn() + Send + Sync + 'static>(f: F) -> Box<dyn Fn() + Send + Sync> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_executable_name` is never used
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn parse_executable_name(exec: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_executable_args` is never used
[INFO] [stdout]   --> src/search_modules/applications/desktop.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn parse_executable_args(exec: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `launch` is never used
[INFO] [stdout]   --> src/search_modules/maths/maths_module.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Equation {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 18 |     pub fn launch(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_optional_field` is never used
[INFO] [stdout]    --> src/settings/serialise.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn deserialize_optional_field<'de, T, D>(deserializer: D) -> Result<Option<Option<T>>, D::Error>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/database.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn start_transaction(&mut self) -> Result<rusqlite::Transaction> {
[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] 34 |     pub fn start_transaction(&mut self) -> Result<rusqlite::Transaction<'_>> {
[INFO] [stdout]    |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Quit` should have a snake case name
[INFO] [stdout]    --> src/settings/settings.rs:856:13
[INFO] [stdout]     |
[INFO] [stdout] 856 |             Quit: SerializableKeyEvent,
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case: `quit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/database.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn start_transaction(&mut self) -> Result<rusqlite::Transaction> {
[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] 34 |     pub fn start_transaction(&mut self) -> Result<rusqlite::Transaction<'_>> {
[INFO] [stdout]    |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.21.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "953fbc509161ac67adc0772f38c5bf5ef61e4fe97f174286401a9a34834ece5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "953fbc509161ac67adc0772f38c5bf5ef61e4fe97f174286401a9a34834ece5c", kill_on_drop: false }`
[INFO] [stdout] 953fbc509161ac67adc0772f38c5bf5ef61e4fe97f174286401a9a34834ece5c
