[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] testing Magicmaan/shabang-tui against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMagicmaan%2Fshabang-tui" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-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-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Magicmaan/shabang-tui on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3b4b09b1496653fcea670ce49a855bb98c81fca644b85c796cd50513b1c50db3
[INFO] running `Command { std: "docker" "start" "-a" "3b4b09b1496653fcea670ce49a855bb98c81fca644b85c796cd50513b1c50db3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b4b09b1496653fcea670ce49a855bb98c81fca644b85c796cd50513b1c50db3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b4b09b1496653fcea670ce49a855bb98c81fca644b85c796cd50513b1c50db3", kill_on_drop: false }`
[INFO] [stdout] 3b4b09b1496653fcea670ce49a855bb98c81fca644b85c796cd50513b1c50db3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5fc60733786ac210fa328bcaa5f5847dba7b5c4c460ef1b90b34078dce24ae88
[INFO] running `Command { std: "docker" "start" "-a" "5fc60733786ac210fa328bcaa5f5847dba7b5c4c460ef1b90b34078dce24ae88", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling libc v0.2.177
[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 smallvec v1.15.1
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling gix-trace v0.1.15
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling prodash v29.0.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling gix-utils v0.3.1
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling gix-features v0.42.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling jiff v0.2.16
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling memmap2 v0.9.9
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling sha1-checked v0.10.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling gix-utils v0.2.0
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling unicode-bom v2.0.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling kstring v2.0.2
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling gix-sec v0.10.12
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[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 zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling gix-validate v0.10.1
[INFO] [stderr]    Compiling gix-date v0.9.4
[INFO] [stderr]    Compiling gix-path v0.10.21
[INFO] [stderr]    Compiling gix-features v0.41.1
[INFO] [stderr]    Compiling gix-actor v0.34.0
[INFO] [stderr]    Compiling gix-validate v0.9.4
[INFO] [stderr]    Compiling gix-fs v0.15.0
[INFO] [stderr]    Compiling gix-chunk v0.4.12
[INFO] [stderr]    Compiling gix-quote v0.5.0
[INFO] [stderr]    Compiling gix-fs v0.14.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling gix-tempfile v17.1.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling gix-glob v0.19.0
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling gix-config-value v0.14.12
[INFO] [stderr]    Compiling gix-lock v17.1.0
[INFO] [stderr]    Compiling gix-command v0.5.0
[INFO] [stderr]    Compiling gix-attributes v0.25.0
[INFO] [stderr]    Compiling gix-bitmap v0.2.15
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling gix-ignore v0.14.0
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling gix-pathspec v0.10.0
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling camino v1.2.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling imara-diff v0.1.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling vergen-lib v0.1.6
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling faster-hex v0.9.0
[INFO] [stderr]    Compiling faster-hex v0.10.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling clru v0.6.2
[INFO] [stderr]    Compiling gix-hash v0.18.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling gix-hash v0.17.0
[INFO] [stderr]    Compiling gix-packetline-blocking v0.18.3
[INFO] [stderr]    Compiling gix-packetline v0.18.4
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling unicode-width v0.2.0
[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 url v2.5.7
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling pest v2.8.3
[INFO] [stderr]    Compiling gix-shallow v0.3.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling gix-url v0.30.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling gix-transport v0.46.0
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[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-traverse v0.45.0
[INFO] [stderr]    Compiling gix-index v0.39.0
[INFO] [stderr]    Compiling gix-revision v0.33.0
[INFO] [stderr]    Compiling gix-pack v0.58.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling gix-discover v0.39.0
[INFO] [stderr]    Compiling gix-config v0.44.0
[INFO] [stderr]    Compiling gix-refspec v0.29.0
[INFO] [stderr]    Compiling gix-worktree v0.40.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling gix-dir v0.13.0
[INFO] [stderr]    Compiling gix-diff v0.51.0
[INFO] [stderr]    Compiling maybe-async v0.2.10
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling vergen v9.0.6
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling gix-odb v0.68.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]    Compiling gix-status v0.18.0
[INFO] [stderr]    Compiling gix-protocol v0.49.0
[INFO] [stderr]    Compiling gix-submodule v0.18.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling pest_meta v2.8.3
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling vergen-gix v1.0.9
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling owo-colors v4.2.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling pest_generator v2.8.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling gix v0.71.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling bon-macros v3.8.1
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling pest_derive v2.8.3
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling bon v3.8.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling rook v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rust-ini v0.20.0
[INFO] [stderr]    Compiling os_info v3.13.0
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling quick-xml v0.21.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling vte v0.14.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling lexers v0.1.4
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling anpa v0.10.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling tini v1.3.0
[INFO] [stderr]    Compiling config v0.14.1
[INFO] [stderr]    Compiling shunting v0.1.2
[INFO] [stderr]    Compiling tachyonfx v0.20.1
[INFO] [stderr]    Compiling rusqlite v0.37.0
[INFO] [stderr]    Compiling xdgkit v3.2.5
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling strip-ansi-escapes v0.2.1
[INFO] [stderr]    Compiling derive_deref v1.1.1
[INFO] [stderr]    Compiling better-panic v0.3.0
[INFO] [stderr]    Compiling nucleo v0.5.0
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling human-panic v2.0.4
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling ftail v0.3.1
[INFO] [stderr]    Compiling tui-scrollview v0.5.3
[INFO] [stderr]    Compiling tui-textarea v0.7.0
[INFO] [stderr]    Compiling term_size v0.3.2
[INFO] [stderr]    Compiling xdg v3.0.0
[INFO] [stderr]    Compiling maths-rs v0.2.7
[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 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 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: `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: `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: 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: 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: `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: `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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 02s
[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 1`
[INFO] running `Command { std: "docker" "inspect" "5fc60733786ac210fa328bcaa5f5847dba7b5c4c460ef1b90b34078dce24ae88", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5fc60733786ac210fa328bcaa5f5847dba7b5c4c460ef1b90b34078dce24ae88", kill_on_drop: false }`
[INFO] [stdout] 5fc60733786ac210fa328bcaa5f5847dba7b5c4c460ef1b90b34078dce24ae88
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d03d27a9fc306ba6d74a9c8f0f0b0ccad1f77212c1f9985646540b0a815a71f
[INFO] running `Command { std: "docker" "start" "-a" "5d03d27a9fc306ba6d74a9c8f0f0b0ccad1f77212c1f9985646540b0a815a71f", kill_on_drop: false }`
[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: `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: `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: `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: `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: 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/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: 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: `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: `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: 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.27s
[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 1`
[INFO] running `Command { std: "docker" "inspect" "5d03d27a9fc306ba6d74a9c8f0f0b0ccad1f77212c1f9985646540b0a815a71f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d03d27a9fc306ba6d74a9c8f0f0b0ccad1f77212c1f9985646540b0a815a71f", kill_on_drop: false }`
[INFO] [stdout] 5d03d27a9fc306ba6d74a9c8f0f0b0ccad1f77212c1f9985646540b0a815a71f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0efaca252cf0d50a753c68ba772d5d65b20536ed784c2153df67e807291368d5
[INFO] running `Command { std: "docker" "start" "-a" "0efaca252cf0d50a753c68ba772d5d65b20536ed784c2153df67e807291368d5", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Constraint` and `Position`
[INFO] [stderr]  --> src/app.rs:4:14
[INFO] [stderr]   |
[INFO] [stderr] 4 |     layout::{Constraint, Position},
[INFO] [stderr]   |              ^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rusqlite::params`
[INFO] [stderr]  --> src/app.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rusqlite::params;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rc::Rc`
[INFO] [stderr]   --> src/app.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     rc::Rc,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `color_eyre::Result`
[INFO] [stderr]  --> src/common/application.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use color_eyre::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `color_eyre::eyre::eyre`
[INFO] [stderr]  --> src/common/application.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use color_eyre::eyre::eyre;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]  --> src/common/application.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::path::PathBuf;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::app::App`
[INFO] [stderr]  --> src/common/application.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::app::App;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rc::Rc`
[INFO] [stderr]  --> src/common/layout.rs:1:45
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{collections::HashMap, hash::Hash, rc::Rc};
[INFO] [stderr]   |                                             ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Frame`
[INFO] [stderr]  --> src/common/layout.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     Frame,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ser::SerializeStruct`
[INFO] [stderr]  --> src/common/layout.rs:7:37
[INFO] [stderr]   |
[INFO] [stderr] 7 | use serde::{Deserialize, Serialize, ser::SerializeStruct};
[INFO] [stderr]   |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/common/module_state.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::layout::Rect`
[INFO] [stderr]  --> src/common/module_state.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ratatui::layout::Rect;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ser::SerializeStruct`
[INFO] [stderr]  --> src/common/module_state.rs:4:37
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{Deserialize, Serialize, ser::SerializeStruct};
[INFO] [stderr]   |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Color`
[INFO] [stderr]  --> src/components/list.rs:6:13
[INFO] [stderr]   |
[INFO] [stderr] 6 |     style::{Color, Style},
[INFO] [stderr]   |             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Event`, `list`, and `self`
[INFO] [stderr]   --> src/components/list.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |         list,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 19 |     tui::{self, Event},
[INFO] [stderr]    |           ^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `KeyCode`, `KeyEventKind`, `MouseButton`, and `MouseEventKind`
[INFO] [stderr]  --> src/components/results.rs:2:24
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crossterm::event::{KeyCode, KeyEventKind, MouseButton, MouseEventKind};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::result`
[INFO] [stderr]  --> src/components/results.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::result;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Constraint`, `Layout`, `Margin`, and `Offset`
[INFO] [stderr]   --> src/components/results.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 | use ratatui::layout::{Constraint, Layout, Margin, Offset};
[INFO] [stderr]    |                       ^^^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::symbols`
[INFO] [stderr]   --> src/components/results.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use ratatui::symbols;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stderr]   --> src/components/results.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     buffer::Buffer,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     widgets::{Block, ListItem, Padding, StatefulWidget, Widget},
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::Number`
[INFO] [stderr]   --> src/components/results.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | use serde_json::Number;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Duration`, `EffectManager`, `EffectTimer`, `Interpolation`, and `fx`
[INFO] [stderr]   --> src/components/results.rs:29:17
[INFO] [stderr]    |
[INFO] [stderr] 29 | use tachyonfx::{Duration, EffectManager, EffectTimer, Interpolation, fx, pattern};
[INFO] [stderr]    |                 ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/components/results.rs:240:12
[INFO] [stderr]     |
[INFO] [stderr] 240 |         if (!self.focused) {
[INFO] [stderr]     |            ^             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 240 -         if (!self.focused) {
[INFO] [stderr] 240 +         if !self.focused  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rainbow`
[INFO] [stderr]  --> src/components/search.rs:5:21
[INFO] [stderr]   |
[INFO] [stderr] 5 |     effects::{self, rainbow},
[INFO] [stderr]   |                     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyEvent`
[INFO] [stderr]  --> src/components/search.rs:9:33
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crossterm::event::{KeyCode, KeyEvent, KeyEventKind};
[INFO] [stderr]   |                                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Color`, `Layout`, `Line`, `Span`, `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stderr]   --> src/components/search.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     buffer::Buffer,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 12 |     layout::{Layout, Rect},
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr] 13 |     style::{Color, Style},
[INFO] [stderr]    |             ^^^^^
[INFO] [stderr] 14 |     text::{Line, Span},
[INFO] [stderr]    |            ^^^^  ^^^^
[INFO] [stderr] 15 |     widgets::{Block, Padding, Paragraph, StatefulWidget, Widget},
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `layout::Constraint`
[INFO] [stderr]   --> src/components/search.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | use ratatui::{layout::Constraint, widgets::Borders};
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/components/search.rs:117:20
[INFO] [stderr]     |
[INFO] [stderr] 117 |                 if (focus == self.focus_area()) {
[INFO] [stderr]     |                    ^                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 117 -                 if (focus == self.focus_area()) {
[INFO] [stderr] 117 +                 if focus == self.focus_area()  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `KeyCode`, `KeyEventKind`, and `MouseEventKind`
[INFO] [stderr]  --> src/components/wizard.rs:2:24
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crossterm::event::{KeyCode, KeyEventKind, MouseEventKind};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::min`
[INFO] [stderr]  --> src/components/wizard.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::cmp::min;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::result`
[INFO] [stderr]  --> src/components/wizard.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::result;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Instant`
[INFO] [stderr]  --> src/components/wizard.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::time::Instant;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ScrollViewState` and `ScrollView`
[INFO] [stderr]  --> src/components/wizard.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tui_scrollview::{ScrollView, ScrollViewState};
[INFO] [stderr]   |                      ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::effects`
[INFO] [stderr]   --> src/components/wizard.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::effects;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Constraint`, `Layout`, `Margin`, `Offset`, and `Position`
[INFO] [stderr]   --> src/components/wizard.rs:21:23
[INFO] [stderr]    |
[INFO] [stderr] 21 | use ratatui::layout::{Constraint, Layout, Margin, Offset, Position};
[INFO] [stderr]    |                       ^^^^^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::symbols`
[INFO] [stderr]   --> src/components/wizard.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use ratatui::symbols;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Paragraph`
[INFO] [stderr]   --> src/components/wizard.rs:23:33
[INFO] [stderr]    |
[INFO] [stderr] 23 | use ratatui::widgets::{Borders, Paragraph};
[INFO] [stderr]    |                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Color`, `StatefulWidget`, `Widget`, and `buffer::Buffer`
[INFO] [stderr]   --> src/components/wizard.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     buffer::Buffer,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 26 |     layout::Rect,
[INFO] [stderr] 27 |     style::{Color, Style},
[INFO] [stderr]    |             ^^^^^
[INFO] [stderr] 28 |     text::{Line, Span},
[INFO] [stderr] 29 |     widgets::{Block, ListItem, Padding, StatefulWidget, Widget},
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::Number`
[INFO] [stderr]   --> src/components/wizard.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | use serde_json::Number;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Duration`, `EffectManager`, `EffectTimer`, `Interpolation`, `fx`, and `pattern`
[INFO] [stderr]   --> src/components/wizard.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 | use tachyonfx::{Duration, EffectManager, EffectTimer, Interpolation, fx, pattern};
[INFO] [stderr]    |                 ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `strum::EnumString`
[INFO] [stderr]  --> src/action.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use strum::EnumString;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `components::Component`
[INFO] [stderr]  --> src/action.rs:6:49
[INFO] [stderr]   |
[INFO] [stderr] 6 |     app::FocusArea, common::layout::RootLayout, components::Component, search_modules::ListResult,
[INFO] [stderr]   |                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stderr]  --> src/database.rs:1:20
[INFO] [stderr]   |
[INFO] [stderr] 1 | use derive_deref::{Deref, DerefMut};
[INFO] [stderr]   |                    ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::sink::Send`
[INFO] [stderr]  --> src/database.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use futures::sink::Send;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> src/database.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/effects.rs:34:51
[INFO] [stderr]    |
[INFO] [stderr] 34 |     effects.process_effects(Duration::from_millis((t)), buf, area);
[INFO] [stderr]    |                                                   ^ ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 34 -     effects.process_effects(Duration::from_millis((t)), buf, area);
[INFO] [stderr] 34 +     effects.process_effects(Duration::from_millis(t ), buf, area);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing_error::ErrorLayer`
[INFO] [stderr]  --> src/logging.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use tracing_error::ErrorLayer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fmt`
[INFO] [stderr]  --> src/logging.rs:3:37
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tracing_subscriber::{EnvFilter, fmt, prelude::*};
[INFO] [stderr]   |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/search_modules/applications/desktop.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `color_eyre::Result`
[INFO] [stderr]  --> src/search_modules/applications/desktop.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use color_eyre::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `color_eyre::eyre::eyre`
[INFO] [stderr]  --> src/search_modules/applications/desktop.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use color_eyre::eyre::eyre;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]  --> src/search_modules/applications/desktop.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::thread::sleep;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `os::unix::process::CommandExt`
[INFO] [stderr]   --> src/search_modules/applications/desktop.rs:10:33
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::{collections::HashMap, os::unix::process::CommandExt};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `app::App`
[INFO] [stderr]  --> src/search_modules/applications/desktop_files_module.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     app::App,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `settings::settings::Settings`
[INFO] [stderr]  --> src/search_modules/maths/maths_module.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     settings::settings::Settings,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `config::Config`
[INFO] [stderr]  --> src/settings/settings.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use config::Config;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::ser::SerializeStruct`
[INFO] [stderr]  --> src/settings/settings.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use serde::ser::SerializeStruct;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Search`
[INFO] [stderr]   --> src/settings/settings.rs:13:29
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::action::{Action, Search};
[INFO] [stderr]    |                             ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/settings/settings.rs:68:12
[INFO] [stderr]    |
[INFO] [stderr] 68 |         if (self.code == KeyCode::Null) {
[INFO] [stderr]    |            ^                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 68 -         if (self.code == KeyCode::Null) {
[INFO] [stderr] 68 +         if self.code == KeyCode::Null  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyModifiers as Mod`
[INFO] [stderr]    --> src/settings/settings.rs:818:9
[INFO] [stderr]     |
[INFO] [stderr] 818 |     use KeyModifiers as Mod;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyEvent`
[INFO] [stderr]    --> src/settings/settings.rs:819:37
[INFO] [stderr]     |
[INFO] [stderr] 819 |     use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stderr]     |                                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ratatui::widgets::ListState`
[INFO] [stderr]    --> src/settings/settings.rs:822:9
[INFO] [stderr]     |
[INFO] [stderr] 822 |     use ratatui::widgets::ListState;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::components::Component`
[INFO] [stderr]   --> src/tui.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | use crate::components::Component;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `prelude`
[INFO] [stderr]  --> src/logging.rs:3:42
[INFO] [stderr]   |
[INFO] [stderr] 3 | use tracing_subscriber::{EnvFilter, fmt, prelude::*};
[INFO] [stderr]   |                                          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Write`
[INFO] [stderr]    --> src/settings/settings.rs:825:9
[INFO] [stderr]     |
[INFO] [stderr] 825 |     use std::fmt::Write;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `action_tx`
[INFO] [stderr]    --> src/app.rs:209:13
[INFO] [stderr]     |
[INFO] [stderr] 209 |         let action_tx = self.action_tx.clone();
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_action_tx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `button`
[INFO] [stderr]    --> src/app.rs:214:34
[INFO] [stderr]     |
[INFO] [stderr] 214 |             MouseEventKind::Down(button) => {
[INFO] [stderr]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> src/common/application.rs:43:39
[INFO] [stderr]    |
[INFO] [stderr] 43 |             (Application::DesktopFile(a, x), Application::DesktopFile(b, y)) => x == y,
[INFO] [stderr]    |                                       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> src/common/application.rs:43:71
[INFO] [stderr]    |
[INFO] [stderr] 43 |             (Application::DesktopFile(a, x), Application::DesktopFile(b, y)) => x == y,
[INFO] [stderr]    |                                                                       ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `desktop_entry`
[INFO] [stderr]    --> src/common/application.rs:119:38
[INFO] [stderr]     |
[INFO] [stderr] 119 |             Application::DesktopFile(desktop_entry, path) => Some(path.clone()),
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_desktop_entry`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ui_gap`
[INFO] [stderr]    --> src/common/layout.rs:212:9
[INFO] [stderr]     |
[INFO] [stderr] 212 |     let ui_gap = ui_settings.layout.gap;
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ui_gap`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `settings`
[INFO] [stderr]   --> src/components/list.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 75 |         settings: &settings::settings::Settings,
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `settings`
[INFO] [stderr]    --> src/components/list.rs:106:9
[INFO] [stderr]     |
[INFO] [stderr] 106 |         settings: &settings::settings::Settings,
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settings`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/list.rs:200:21
[INFO] [stderr]     |
[INFO] [stderr] 200 |                 let mut selected_color = theme.accent.unwrap();
[INFO] [stderr]     |                     ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/components/results.rs:291:52
[INFO] [stderr]     |
[INFO] [stderr] 291 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/components/search.rs:131:52
[INFO] [stderr]     |
[INFO] [stderr] 131 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/components/wizard.rs:95:21
[INFO] [stderr]    |
[INFO] [stderr] 95 |                 let mut prepend_icon = number_to_icon(i, number_mode);
[INFO] [stderr]    |                     ----^^^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/wizard.rs:107:21
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 let mut text_color = theme.text.unwrap();
[INFO] [stderr]     |                     ----^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/wizard.rs:108:21
[INFO] [stderr]     |
[INFO] [stderr] 108 |                 let mut muted_color = theme.text_muted.unwrap();
[INFO] [stderr]     |                     ----^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `executing_item`
[INFO] [stderr]   --> src/components/wizard.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |         executing_item: Option<usize>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executing_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `list_state`
[INFO] [stderr]   --> src/components/wizard.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 |         list_state: &ListState,
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tick`
[INFO] [stderr]   --> src/components/wizard.rs:70:9
[INFO] [stderr]    |
[INFO] [stderr] 70 |         tick: u64,
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_tick`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `available_height`
[INFO] [stderr]   --> src/components/wizard.rs:79:13
[INFO] [stderr]    |
[INFO] [stderr] 79 |         let available_height = area.height as usize;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_available_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/components/wizard.rs:219:52
[INFO] [stderr]     |
[INFO] [stderr] 219 |     fn draw(&mut self, frame: &mut ratatui::Frame, area: Rect) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `results_theme`
[INFO] [stderr]    --> src/components/wizard.rs:229:13
[INFO] [stderr]     |
[INFO] [stderr] 229 |         let results_theme = theme.get_results_colors();
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `transaction`
[INFO] [stderr]   --> src/database.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 |         transaction: &rusqlite::Transaction,
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transaction`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/effects.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut timer = timer;
[INFO] [stderr]    |         ----^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_color`
[INFO] [stderr]  --> src/effects.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     start_color: Color,
[INFO] [stderr]   |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_color`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `fx` is never read
[INFO] [stderr]   --> src/effects.rs:29:18
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let mut fx = fx_rainbow;
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `env_filter`
[INFO] [stderr]   --> src/logging.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let env_filter = env_filter
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_filter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]   --> src/search_modules/applications/desktop.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let content: String = fs::read_to_string(path).expect("Failed to read desktop file");
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/search_modules/applications/desktop_files_module.rs:129:25
[INFO] [stderr]     |
[INFO] [stderr] 129 |                     Err(e) => {
[INFO] [stderr]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `entry_count` is never read
[INFO] [stderr]   --> src/search_modules/applications/desktop_files_module.rs:57:35
[INFO] [stderr]    |
[INFO] [stderr] 57 |             let mut entry_count = 0;
[INFO] [stderr]    |                                   ^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: fields `mode` and `last_tick_mouse_events` are never read
[INFO] [stderr]   --> src/app.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub struct App {
[INFO] [stderr]    |            --- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 78 |     mode: Mode,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 79 |     last_tick_key_events: Vec<KeyEvent>,
[INFO] [stderr] 80 |     last_tick_mouse_events: Vec<MouseEvent>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TerminalCommand` is never constructed
[INFO] [stderr]   --> src/common/application.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub enum Application {
[INFO] [stderr]    |          ----------- variant in this enum
[INFO] [stderr] 37 |     DesktopFile(DesktopEntry, String), // DesktopEntry and its path
[INFO] [stderr] 38 |     TerminalCommand(TerminalCommand, String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Application` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `path` is never used
[INFO] [stderr]    --> src/common/application.rs:117:12
[INFO] [stderr]     |
[INFO] [stderr]  49 | impl Application {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub fn path(&self) -> Option<String> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_minimum_size` is never used
[INFO] [stderr]    --> src/common/layout.rs:210:8
[INFO] [stderr]     |
[INFO] [stderr] 210 | pub fn calculate_minimum_size(settings: &Settings) -> Size {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `register_database_handler` is never used
[INFO] [stderr]   --> src/components/mod.rs:53:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub trait Component {
[INFO] [stderr]    |           --------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 53 |     fn register_database_handler(&mut self, database: Arc<Mutex<Database>>) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `select_last` and `select_first` are never used
[INFO] [stderr]   --> src/components/list.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl ListState {
[INFO] [stderr]    | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn select_last(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub fn select_first(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ResultBoxState` is never constructed
[INFO] [stderr]   --> src/components/results.rs:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct ResultBoxState {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `previous_results` is never read
[INFO] [stderr]   --> src/components/results.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct ResultsBox {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 51 |     previous_results: Vec<ListResult>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ResultsBox` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_loading_spinner`, `construct_list`, and `execute_selected` are never used
[INFO] [stderr]    --> src/components/results.rs:81:8
[INFO] [stderr]     |
[INFO] [stderr]  61 | impl ResultsBox {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  81 |     fn get_loading_spinner(&self, tick: u64) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  94 |     pub fn construct_list(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 190 |     fn execute_selected(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_minimum_size` is never used
[INFO] [stderr]    --> src/components/util.rs:120:8
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub fn calculate_minimum_size(settings: &Settings) -> Rect {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `construct_list` is never used
[INFO] [stderr]   --> src/components/wizard.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl WizardBox {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn construct_list(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `KeyEvent`, `MouseEvent`, `FocusToggle`, and `Unfocus` are never constructed
[INFO] [stderr]   --> src/action.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub enum Action {
[INFO] [stderr]    |          ------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 32 |     KeyEvent(KeyEvent),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 33 |     MouseEvent(MouseEvent),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     FocusToggle,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 53 |     Unfocus,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Action` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `path` is never read
[INFO] [stderr]  --> src/database.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct Database {
[INFO] [stderr]   |            -------- field in this struct
[INFO] [stderr] 8 |     path: String,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Database` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_connection` and `insert_application` are never used
[INFO] [stderr]   --> src/database.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Database {
[INFO] [stderr]    | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn get_connection(&self) -> &Connection {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |     pub fn insert_application(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init` is never used
[INFO] [stderr]   --> src/logging.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn init() -> Result<()> {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `register_action_handler`, `execute`, and `get_applications` are never used
[INFO] [stderr]   --> src/search_modules/mod.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub trait SearchModule {
[INFO] [stderr]    |           ------------ methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 20 |     fn register_action_handler(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     fn execute(&mut self, result: &ListResult) -> () {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     fn get_applications(&self) -> Vec<Rc<crate::common::application::Application>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clone_box` is never used
[INFO] [stderr]   --> src/search_modules/mod.rs:78:4
[INFO] [stderr]    |
[INFO] [stderr] 78 | fn clone_box<F: Fn() + Send + Sync + 'static>(f: F) -> Box<dyn Fn() + Send + Sync> {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_executable_name` is never used
[INFO] [stderr]   --> src/search_modules/applications/desktop.rs:55:4
[INFO] [stderr]    |
[INFO] [stderr] 55 | fn parse_executable_name(exec: &str) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_executable_args` is never used
[INFO] [stderr]   --> src/search_modules/applications/desktop.rs:59:4
[INFO] [stderr]    |
[INFO] [stderr] 59 | fn parse_executable_args(exec: &str) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `launch` is never used
[INFO] [stderr]   --> src/search_modules/maths/maths_module.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl Equation {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] 18 |     pub fn launch(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `deserialize_optional_field` is never used
[INFO] [stderr]    --> src/settings/serialise.rs:240:8
[INFO] [stderr]     |
[INFO] [stderr] 240 | pub fn deserialize_optional_field<'de, T, D>(deserializer: D) -> Result<Option<Option<T>>, D::Error>
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/database.rs:34:30
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn start_transaction(&mut self) -> Result<rusqlite::Transaction> {
[INFO] [stderr]    |                              ^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn start_transaction(&mut self) -> Result<rusqlite::Transaction<'_>> {
[INFO] [stderr]    |                                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Quit` should have a snake case name
[INFO] [stderr]    --> src/settings/settings.rs:856:13
[INFO] [stderr]     |
[INFO] [stderr] 856 |             Quit: SerializableKeyEvent,
[INFO] [stderr]     |             ^^^^ help: convert the identifier to snake case: `quit`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rook` (bin "rook" test) generated 116 warnings (run `cargo fix --bin "rook" -p rook --tests` to apply 90 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.83s
[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 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rook-72886d1f751feabd)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test search_modules::applications::desktop::tests::size_of_application ... ok
[INFO] [stdout] test test::it_works ... ok
[INFO] [stdout] test test::get_size ... ok
[INFO] [stdout] test search_modules::applications::desktop::tests::test_find_desktop_files ... ok
[INFO] [stdout] test settings::settings::tests::toml_test_struct_serialise_vs_hashmap ... FAILED
[INFO] [stdout] test settings::settings::tests::test_read_settings ... FAILED
[INFO] [stdout] test settings::settings::tests::test_write_default_settings ... FAILED
[INFO] [stdout] test search_modules::applications::desktop::tests::test_sort_applications ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- settings::settings::tests::toml_test_struct_serialise_vs_hashmap stdout ----
[INFO] [stdout] TOML from struct:
[INFO] [stdout] Quit = "Ctrl + q"
[INFO] [stdout] 
[INFO] [stdout] -------------------------
[INFO] [stdout] TOML from hashmap:
[INFO] [stdout] quit = "Ctrl + q"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'settings::settings::tests::toml_test_struct_serialise_vs_hashmap' (21) panicked at src/settings/settings.rs:891:14:
[INFO] [stdout] Could not deserialize test hashmap to struct: Error { message: "missing field `Quit`", input: Some("quit = \"Ctrl + q\"\n"), keys: [], span: Some(0..0) }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e2ef0cffe1a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e2ef0d1771a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e2ef0d1771a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5e2ef0d049c2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e2ef0d049c2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e2ef0cdd52f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e2ef0cdd52f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e2ef0cf7799 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e2ef0bc35cc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5e2ef0bc35cc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e2ef0cf7952 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5e2ef0cf7952 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e2ef0cdd5e8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e2ef0cd4cc9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e2ef0cde2fd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e2ef0d17ffc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e2ef0d17d42 - core[10b6fa85044e1869]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5e2ef0a8248b - core::result::Result<T,E>::expect::h61ace810b1c6a715
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5e2ef0b193a5 - rook::settings::settings::tests::toml_test_struct_serialise_vs_hashmap::h9e93c3077478d25e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/settings/settings.rs:891:14
[INFO] [stdout]   22:     0x5e2ef0b19a47 - rook::settings::settings::tests::toml_test_struct_serialise_vs_hashmap::{{closure}}::h081d7511442f6b06
[INFO] [stdout]                                at /opt/rustwide/workdir/src/settings/settings.rs:853:47
[INFO] [stdout]   23:     0x5e2ef0b0c726 - core::ops::function::FnOnce::call_once::h8ebee0c9d5053d03
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e2ef0bb76ab - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e2ef0bb76ab - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5e2ef0bc409b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5e2ef0bbf7b4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5e2ef0bbf7b4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5e2ef0bc6ca2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5e2ef0bc6ca2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5e2ef0cfef0f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5e2ef0cfef0f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x744effc17aa4 - <unknown>
[INFO] [stdout]   45:     0x744effca4a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- settings::settings::tests::test_read_settings stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'settings::settings::tests::test_read_settings' (19) panicked at src/settings/settings.rs:843:46:
[INFO] [stdout] Could not read settings file for testing: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e2ef0cffe1a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e2ef0d1771a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e2ef0d1771a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5e2ef0d049c2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e2ef0d049c2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e2ef0cdd52f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e2ef0cdd52f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e2ef0cf7799 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e2ef0bc35cc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5e2ef0bc35cc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e2ef0cf7952 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5e2ef0cf7952 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e2ef0cdd5e8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e2ef0cd4cc9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e2ef0cde2fd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e2ef0d17ffc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e2ef0d17d42 - core[10b6fa85044e1869]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5e2ef0a8256c - core::result::Result<T,E>::expect::hd2418d1ba2190153
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5e2ef0b18846 - rook::settings::settings::tests::test_read_settings::h13ba8d86675a8b54
[INFO] [stdout]                                at /opt/rustwide/workdir/src/settings/settings.rs:843:46
[INFO] [stdout]   22:     0x5e2ef0b18b97 - rook::settings::settings::tests::test_read_settings::{{closure}}::h3cb9e2d98d6bafcc
[INFO] [stdout]                                at /opt/rustwide/workdir/src/settings/settings.rs:838:28
[INFO] [stdout]   23:     0x5e2ef0b0c986 - core::ops::function::FnOnce::call_once::hb0cda38093c1379d
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e2ef0bb76ab - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e2ef0bb76ab - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5e2ef0bc409b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5e2ef0bbf7b4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5e2ef0bbf7b4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5e2ef0bc6ca2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5e2ef0bc6ca2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5e2ef0cfef0f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5e2ef0cfef0f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x744effc17aa4 - <unknown>
[INFO] [stdout]   45:     0x744effca4a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- settings::settings::tests::test_write_default_settings stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'settings::settings::tests::test_write_default_settings' (20) panicked at src/settings/settings.rs:810:51:
[INFO] [stdout] Could not serialize default settings: UnsupportedNone
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e2ef0cffe1a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e2ef0d1771a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e2ef0d1771a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5e2ef0d049c2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e2ef0d049c2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e2ef0cdd52f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e2ef0cdd52f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e2ef0cf7799 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e2ef0bc35cc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5e2ef0bc35cc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e2ef0cf7952 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5e2ef0cf7952 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e2ef0cdd5e8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e2ef0cd4cc9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e2ef0cde2fd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e2ef0d17ffc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e2ef0d17d42 - core[10b6fa85044e1869]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5e2ef0b6f34e - core::result::Result<T,E>::expect::h764e8e2a693c7385
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5e2ef0a50f71 - rook::settings::settings::Settings::write_default_settings::h8f9810ec9ba19e84
[INFO] [stdout]                                at /opt/rustwide/workdir/src/settings/settings.rs:810:51
[INFO] [stdout]   22:     0x5e2ef0b18cb8 - rook::settings::settings::tests::test_write_default_settings::he52414e57eb8642b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/settings/settings.rs:832:18
[INFO] [stdout]   23:     0x5e2ef0b18ec7 - rook::settings::settings::tests::test_write_default_settings::{{closure}}::he45206e6de7159a4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/settings/settings.rs:828:37
[INFO] [stdout]   24:     0x5e2ef0b0cd36 - core::ops::function::FnOnce::call_once::hdd283ba47e9fdd2f
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e2ef0bb76ab - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5e2ef0bb76ab - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x5e2ef0bc409b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x5e2ef0bbf7b4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x5e2ef0bbf7b4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x5e2ef0bc6ca2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x5e2ef0bc6ca2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5e2ef0cfef0f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   44:     0x5e2ef0cfef0f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x744effc17aa4 - <unknown>
[INFO] [stdout]   46:     0x744effca4a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- search_modules::applications::desktop::tests::test_sort_applications stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'search_modules::applications::desktop::tests::test_sort_applications' (18) panicked at src/search_modules/applications/desktop.rs:210:9:
[INFO] [stdout] assertion failed: !sorted.is_empty()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e2ef0cffe1a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e2ef0cffe1a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e2ef0d1771a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e2ef0d1771a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5e2ef0d049c2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e2ef0d049c2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e2ef0cdd52f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e2ef0cdd52f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e2ef0cf7799 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e2ef0bc35cc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5e2ef0bc35cc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5e2ef0cf7952 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5e2ef0cf7952 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e2ef0cdd61a - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e2ef0cd4cc9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e2ef0cde2fd - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e2ef0d17ffc - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e2ef0d17fc2 - core[10b6fa85044e1869]::panicking::panic
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e2ef0b17f84 - rook::search_modules::applications::desktop::tests::test_sort_applications::h2a6947631efecde8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/search_modules/applications/desktop.rs:210:9
[INFO] [stdout]   21:     0x5e2ef0b18347 - rook::search_modules::applications::desktop::tests::test_sort_applications::{{closure}}::h92dfff8f456fc4e5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/search_modules/applications/desktop.rs:203:32
[INFO] [stdout]   22:     0x5e2ef0b0bf66 - core::ops::function::FnOnce::call_once::h27b1e7619d38b733
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5e2ef0bb76ab - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e2ef0bb76ab - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5e2ef0bc409b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5e2ef0bc409b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5e2ef0bc409b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5e2ef0bbf7b4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5e2ef0bbf7b4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5e2ef0bc6ca2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5e2ef0bc6ca2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5e2ef0bc6ca2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5e2ef0cfef0f - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5e2ef0cfef0f - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x744effc17aa4 - <unknown>
[INFO] [stdout]   44:     0x744effca4a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     search_modules::applications::desktop::tests::test_sort_applications
[INFO] [stdout]     settings::settings::tests::test_read_settings
[INFO] [stdout]     settings::settings::tests::test_write_default_settings
[INFO] [stdout]     settings::settings::tests::toml_test_struct_serialise_vs_hashmap
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 4 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin rook`
[INFO] running `Command { std: "docker" "inspect" "0efaca252cf0d50a753c68ba772d5d65b20536ed784c2153df67e807291368d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0efaca252cf0d50a753c68ba772d5d65b20536ed784c2153df67e807291368d5", kill_on_drop: false }`
[INFO] [stdout] 0efaca252cf0d50a753c68ba772d5d65b20536ed784c2153df67e807291368d5
