[INFO] fetching crate ins 0.3.0...
[INFO] testing ins-0.3.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate ins 0.3.0 into /workspace/builds/worker-0-tc2/source
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate ins 0.3.0
[INFO] finished tweaking crates.io crate ins 0.3.0
[INFO] tweaked toml for crates.io crate ins 0.3.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ins 0.3.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ins 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 677a12380dcdbd578352e46f411fdfb2c87a5a7303e59acf6515ab485e70b1e5
[INFO] running `Command { std: "docker" "start" "-a" "677a12380dcdbd578352e46f411fdfb2c87a5a7303e59acf6515ab485e70b1e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "677a12380dcdbd578352e46f411fdfb2c87a5a7303e59acf6515ab485e70b1e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "677a12380dcdbd578352e46f411fdfb2c87a5a7303e59acf6515ab485e70b1e5", kill_on_drop: false }`
[INFO] [stdout] 677a12380dcdbd578352e46f411fdfb2c87a5a7303e59acf6515ab485e70b1e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8f44dd5783438290ec6d92d44f237a40c48279265c402da38dea61b9536e4800
[INFO] running `Command { std: "docker" "start" "-a" "8f44dd5783438290ec6d92d44f237a40c48279265c402da38dea61b9536e4800", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling clap_builder v4.5.48
[INFO] [stderr]    Compiling libgit2-sys v0.18.2+1.9.1
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling os_pipe v1.2.3
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling clap v4.5.48
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling sigchld v0.2.4
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling console v0.16.1
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling ini_core v0.2.0
[INFO] [stderr]    Compiling owo-colors v4.2.3
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling xdg v2.5.2
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling freedesktop-icons v0.4.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling shared_child v1.1.1
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling directories v1.0.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling unit-prefix v0.5.1
[INFO] [stderr]    Compiling shared_thread v0.2.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling is_executable v1.0.5
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling clap_complete v4.5.58
[INFO] [stderr]    Compiling which v8.0.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling rusqlite v0.37.0
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling duct v1.1.0
[INFO] [stderr]    Compiling indicatif v0.18.0
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling fre v0.4.1
[INFO] [stderr]    Compiling comfy-table v7.2.1
[INFO] [stderr]    Compiling ctrlc v3.5.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling freedesktop-file-parser v0.3.1
[INFO] [stderr]    Compiling shellexpand v3.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling sudo v0.6.0
[INFO] [stderr]    Compiling xdg v3.0.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling colored v3.0.0
[INFO] [stderr]    Compiling git2 v0.20.2
[INFO] [stderr]    Compiling ins v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/settings/context.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 key,
[INFO] [stdout]     |                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/settings/context.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 key,
[INFO] [stdout]     |                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/settings/context.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 options,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/settings/ui/handlers.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ctx: &mut SettingsContext,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/settings/ui/menu.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn run_main_menu(ctx: &mut SettingsContext, initial_cursor: Option<usize>) -> Result<MenuAction> {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InitialCursor` is more private than the item `FzfWrapper::initial_cursor`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:52:5
[INFO] [stdout]     |
[INFO] [stdout]  52 |     pub(crate) initial_cursor: Option<InitialCursor>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `FzfWrapper::initial_cursor` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InitialCursor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:386:1
[INFO] [stdout]     |
[INFO] [stdout] 386 | enum InitialCursor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PreviewStrategy` is more private than the item `PreviewUtils::analyze_preview_strategy`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:856:5
[INFO] [stdout]     |
[INFO] [stdout] 856 |     pub fn analyze_preview_strategy<T: FzfSelectable>(items: &[T]) -> Result<PreviewStrategy> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `PreviewUtils::analyze_preview_strategy` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PreviewStrategy` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:824:1
[INFO] [stdout]     |
[INFO] [stdout] 824 | enum PreviewStrategy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_wayland` and `is_x11` are never used
[INFO] [stdout]    --> src/common/compositor/mod.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl CompositorType {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn is_wayland(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn is_x11(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HyprlandWorkspaceInfo` is never constructed
[INFO] [stdout]    --> src/common/compositor/hyprland.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct HyprlandWorkspaceInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dispatch_command` is never used
[INFO] [stdout]    --> src/common/compositor/hyprland.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn dispatch_command(command: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CommandSucceeds` is never constructed
[INFO] [stdout]   --> src/common/requirements.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum InstallTest {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     CommandSucceeds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstallTest` 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: method `get_package_name` is never used
[INFO] [stdout]    --> src/common/requirements.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl RequiredPackage {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_package_name(&self) -> Option<(&'static str, PackageManager)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ServiceState` is never used
[INFO] [stdout]   --> src/common/systemd.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum ServiceState {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ServiceEnablement` is never used
[INFO] [stdout]   --> src/common/systemd.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum ServiceEnablement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_restart`, `with_restart_sec`, and `with_wanted_by` are never used
[INFO] [stdout]   --> src/common/systemd.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl UserServiceConfig {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn with_restart(mut self, restart: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn with_restart_sec(mut self, sec: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn with_wanted_by(mut self, target: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/common/systemd.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl SystemdManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn get_state(&self, service_name: &str) -> ServiceState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn get_enablement(&self, service_name: &str) -> ServiceEnablement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn stop(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn enable(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn disable(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn create_user_service_file(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn remove_user_service_file(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_service_is_active` is never used
[INFO] [stdout]    --> src/common/systemd.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn system_service_is_active(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_service_is_enabled` is never used
[INFO] [stdout]    --> src/common/systemd.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn system_service_is_enabled(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `user_service_is_active` is never used
[INFO] [stdout]    --> src/common/systemd.rs:399:12
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn user_service_is_active(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `user_service_is_enabled` is never used
[INFO] [stdout]    --> src/common/systemd.rs:404:12
[INFO] [stdout]     |
[INFO] [stdout] 404 |     pub fn user_service_is_enabled(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_udiskie_service_config` is never used
[INFO] [stdout]    --> src/common/systemd.rs:409:12
[INFO] [stdout]     |
[INFO] [stdout] 409 |     pub fn create_udiskie_service_config() -> UserServiceConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_udiskie_service_content` is never used
[INFO] [stdout]    --> src/common/systemd.rs:418:12
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub fn create_udiskie_service_content() -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `file_name` and `install_instructions` are never used
[INFO] [stdout]   --> src/completions/mod.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SupportedShell {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn file_name(self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn install_instructions(self, install_path: &Path) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `instructions` is never used
[INFO] [stdout]    --> src/completions/mod.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn instructions(shell: SupportedShell, install_path: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hash_exists` and `target_hash_exists` are never used
[INFO] [stdout]    --> src/dot/db.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl Database {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn hash_exists(&self, hash: &str, path: &Path) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn target_hash_exists(&self, hash: &str, path: &Path) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `target_to_source` is never used
[INFO] [stdout]    --> src/dot/localrepo.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl LocalRepo {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn target_to_source(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> src/dot/repo/manager.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct RepositoryManager<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 10 |     config: &'a Config,
[INFO] [stdout] 11 |     db: &'a Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_tracked_file` is never used
[INFO] [stdout]    --> src/dot/operations/add.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn update_tracked_file(dotfile: &Dotfile, db: &Database) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_inner` is never used
[INFO] [stdout]   --> src/dot/types.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl RepoName {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn into_inner(self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_dotfiles_by_path_owned` is never used
[INFO] [stdout]    --> src/dot/utils.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub fn filter_dotfiles_by_path_owned(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_description` and `with_launch_command` are never used
[INFO] [stdout]    --> src/game/config.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Game {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn with_description(mut self, description: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn with_launch_command(mut self, command: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_checkpoint`, `clear_checkpoint`, and `with_launch_command` are never used
[INFO] [stdout]    --> src/game/config.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl GameInstallation {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 180 |     pub fn new(game_name: impl Into<GameName>, save_path: impl Into<TildePath>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn with_checkpoint(mut self, checkpoint_id: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn clear_checkpoint(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn with_launch_command(mut self, command: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_path_for_display` is never used
[INFO] [stdout]   --> src/game/deps/display.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn format_path_for_display(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_game_name_unique` is never used
[INFO] [stdout]  --> src/game/games/validation.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn validate_game_name_unique(name: &str) -> Result<bool> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_game_exists` is never used
[INFO] [stdout]   --> src/game/games/validation.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn validate_game_exists(name: &str) -> Result<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_game_backups` is never used
[INFO] [stdout]   --> src/game/restic/backup.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl GameBackup {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn list_game_backups(&self, game_name: &str) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cache_stats` is never used
[INFO] [stdout]    --> src/game/restic/cache.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn get_cache_stats() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh_snapshots_for_game` is never used
[INFO] [stdout]    --> src/game/restic/cache.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn refresh_snapshots_for_game(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResticCommand` is never constructed
[INFO] [stdout]  --> src/game/restic/commands.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ResticCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `base_command`, `init`, `check_repo`, `stats`, and `list_snapshots` are never used
[INFO] [stdout]   --> src/game/restic/commands.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ResticCommand {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(config: InstantGameConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn base_command(&self) -> Result<Command> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn init(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn check_repo(&self) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn stats(&self) -> Result<String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn list_snapshots(&self, tags: Option<Vec<&str>>) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `progress` is never read
[INFO] [stdout]   --> src/game/restic/dependencies.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DependencyBackupResult {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub progress: BackupProgress,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `save_path_exists` is never read
[INFO] [stdout]   --> src/game/restic/security.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct SecurityValidationResult {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] 23 |     pub save_path_exists: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityValidationResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_snapshot_interactive` is never used
[INFO] [stdout]    --> src/game/restic/snapshot_selection.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn select_snapshot_interactive(game_name: &str) -> Result<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_dependency_id_from_tag` is never used
[INFO] [stdout]   --> src/game/restic/tags.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn decode_dependency_id_from_tag(encoded_tag: &str) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_dependency_info_from_tags` is never used
[INFO] [stdout]    --> src/game/restic/tags.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn extract_dependency_info_from_tags(tags: &[String]) -> Option<(String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `path_selection_to_pathbuf` is never used
[INFO] [stdout]   --> src/game/utils/path.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn path_selection_to_pathbuf(selection: PathInputSelection) -> Result<Option<PathBuf>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wine_prefix_path` is never used
[INFO] [stdout]   --> src/game/utils/path.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn wine_prefix_path(prefix: &Path, relative_path: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]   --> src/game/utils/save_files.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TimeComparison {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeComparison` 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: function `get_most_recent_file_time` is never used
[INFO] [stdout]   --> src/game/utils/save_files.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn get_most_recent_file_time(save_path: &Path) -> Result<Option<SystemTime>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_application` is never used
[INFO] [stdout]    --> src/launch/mod.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn execute_application(app_name: &str) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache_path` is never read
[INFO] [stdout]   --> src/launch/cache.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct LaunchCache {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 15 |     cache_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/launch/cache.rs:87:18
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl LaunchCache {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub async fn get_applications(&mut self) -> Result<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn is_cache_fresh(&self) -> Result<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn read_cache(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     async fn refresh_cache_background(cache_path: PathBuf) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn scan_path_directories(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     async fn scan_path_directories_static() -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn write_cache(cache_path: &Path, apps: &[String]) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn sort_by_frecency(&mut self, apps: &mut Vec<String>) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn record_launch(&mut self, app_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn get_frecency_stats(&mut self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon`, `categories`, and `file_path` are never read
[INFO] [stdout]   --> src/launch/types.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DesktopAppDetails {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 13 |     pub exec: String,            // Exec command with field codes
[INFO] [stdout] 14 |     pub icon: Option<String>,    // Icon name
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 15 |     pub categories: Vec<String>, // Application categories
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub file_path: PathBuf,      // Path to .desktop file
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DesktopAppDetails` 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: struct `PathExecutableDetails` is never constructed
[INFO] [stdout]   --> src/launch/types.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct PathExecutableDetails {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hide` is never used
[INFO] [stdout]   --> src/menu/scratchpad_manager.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ScratchpadManager {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn hide(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `stop` and `compositor` are never used
[INFO] [stdout]    --> src/menu/server.rs:372:18
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl MenuServer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub async fn stop(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn compositor(&self) -> &CompositorType {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `show_help` and `toggle_help` are never used
[INFO] [stdout]   --> src/menu/tui.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl MenuServerTui {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn show_help(&self) -> Arc<AtomicBool> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn toggle_help(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `pick_file` and `pick_files` are never used
[INFO] [stdout]    --> src/menu_utils/file_picker.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | impl MenuWrapper {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn pick_file() -> Result<Option<PathBuf>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn pick_files() -> Result<Vec<PathBuf>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `select_many`, `password_dialog`, and `confirm_dialog` are never used
[INFO] [stdout]    --> src/menu_utils/fzf.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl FzfWrapper {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn select_many<T: FzfSelectable + Clone>(items: Vec<T>) -> Result<Vec<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn password_dialog(prompt: &str) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn confirm_dialog(message: &str) -> Result<ConfirmResult> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ok_text` and `show_selection` are never used
[INFO] [stdout]    --> src/menu_utils/fzf.rs:478:12
[INFO] [stdout]     |
[INFO] [stdout] 390 | impl FzfBuilder {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub fn ok_text<S: Into<String>>(mut self, text: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn show_selection<T: FzfSelectable + Clone>(self, items: Vec<T>) -> Result<FzfResult<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreviewData` is never constructed
[INFO] [stdout]    --> src/menu_utils/fzf.rs:816:8
[INFO] [stdout]     |
[INFO] [stdout] 816 | struct PreviewData {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build_preview_mapping` is never used
[INFO] [stdout]    --> src/menu_utils/fzf.rs:836:12
[INFO] [stdout]     |
[INFO] [stdout] 835 | impl PreviewUtils {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 836 |     pub fn build_preview_mapping<T: FzfSelectable>(items: &[T]) -> Result<HashMap<String, String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `start_dir` is never used
[INFO] [stdout]   --> src/menu_utils/path_input.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl PathInputBuilder {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn start_dir<P: Into<PathBuf>>(mut self, dir: P) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_tilde_path`, `to_path_buf`, and `to_tilde_string` are never used
[INFO] [stdout]    --> src/menu_utils/path_input.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 211 | impl PathInputSelection {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 212 |     pub fn to_tilde_path(&self) -> Result<Option<TildePath>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn to_path_buf(&self) -> Result<Option<PathBuf>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn to_tilde_string(&self) -> Result<Option<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_enabled` is never used
[INFO] [stdout]   --> src/restic/logging.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl ResticCommandLogger {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn with_enabled(enabled: bool) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]    --> src/restic/wrapper.rs:496:9
[INFO] [stdout]     |
[INFO] [stdout] 494 | pub struct BackupProgress {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 495 |     pub summary: Option<BackupSummary>,
[INFO] [stdout] 496 |     pub errors: Vec<BackupError>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackupProgress` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_app_name` is never used
[INFO] [stdout]    --> src/settings/defaultapps.rs:572:4
[INFO] [stdout]     |
[INFO] [stdout] 572 | fn get_app_name(desktop_file: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_satisfied` is never used
[INFO] [stdout]   --> src/settings/registry.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SettingRequirement {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 22 |     /// Check if this requirement is currently satisfied
[INFO] [stdout] 23 |     pub fn is_satisfied(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setting_by_id` is never used
[INFO] [stdout]    --> src/settings/registry.rs:783:8
[INFO] [stdout]     |
[INFO] [stdout] 783 | pub fn setting_by_id(id: &str) -> Option<&'static SettingDefinition> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `path` and `is_empty` are never used
[INFO] [stdout]    --> src/settings/store.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl SettingsStore {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/video/config.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl VideoConfig {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `markdown_path` is never used
[INFO] [stdout]    --> src/video/config.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl VideoProjectPaths {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn markdown_path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generated_at` is never read
[INFO] [stdout]   --> src/video/document.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct VideoMetadata {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub generated_at: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VideoMetadata` 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 `0` is never read
[INFO] [stdout]   --> src/video/document.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Separator(SeparatorBlock),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DocumentBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Separator(SeparatorBlock),
[INFO] [stdout] 37 +     Separator(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> src/video/document.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct SeparatorBlock {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 71 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SeparatorBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/video/nle_timeline.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     VideoSubset {
[INFO] [stdout]    |     ----------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 32 |         transform: Option<Transform>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SegmentData` 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: fields `rotate` and `translate` are never read
[INFO] [stdout]   --> src/video/nle_timeline.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Transform {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub rotate: Option<f32>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 55 |     /// Translation (x, y) in pixels
[INFO] [stdout] 56 |     pub translate: Option<(f32, f32)>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Transform` 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: method `segments_in_range` is never used
[INFO] [stdout]   --> src/video/nle_timeline.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl Timeline {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn segments_in_range(&self, start: f64, end: f64) -> Vec<&Segment> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_rotation`, `with_translation`, and `is_identity` are never used
[INFO] [stdout]    --> src/video/nle_timeline.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl Transform {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn with_rotation(degrees: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn with_translation(x: f32, y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn is_identity(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transform` is never used
[INFO] [stdout]    --> src/video/nle_timeline.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl SegmentData {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn transform(&self) -> Option<&Transform> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OldTimelineItem` is never constructed
[INFO] [stdout]    --> src/video/nle_timeline.rs:226:16
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub struct OldTimelineItem {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OldTimelineItemKind` is never used
[INFO] [stdout]    --> src/video/nle_timeline.rs:230:14
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub enum OldTimelineItemKind {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_to_nle_timeline` is never used
[INFO] [stdout]    --> src/video/nle_timeline.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub fn convert_to_nle_timeline(items: Vec<OldTimelineItem>) -> Result<Timeline> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target_height` is never read
[INFO] [stdout]    --> src/video/render.rs:404:5
[INFO] [stdout]     |
[INFO] [stdout] 400 | struct RenderPipeline {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 404 |     target_height: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> src/video/timeline.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct OverlayPlan {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 37 |     pub markdown: String,
[INFO] [stdout] 38 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OverlayPlan` 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 `line` is never read
[INFO] [stdout]   --> src/video/timeline.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     Heading {
[INFO] [stdout]    |     ------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 46 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StandalonePlan` 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: fields `display_text` and `line` are never read
[INFO] [stdout]   --> src/video/timeline.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     Pause {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] 49 |         markdown: String,
[INFO] [stdout] 50 |         display_text: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 51 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StandalonePlan` 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 `line` is never read
[INFO] [stdout]   --> src/video/timeline.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct MusicPlan {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 57 |     pub directive: MusicDirective,
[INFO] [stdout] 58 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MusicPlan` 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: method `generate_image` is never used
[INFO] [stdout]   --> src/video/title_card.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl TitleCardGenerator {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn generate_image(&self, level: u32, text: &str, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 40s
[INFO] running `Command { std: "docker" "inspect" "8f44dd5783438290ec6d92d44f237a40c48279265c402da38dea61b9536e4800", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f44dd5783438290ec6d92d44f237a40c48279265c402da38dea61b9536e4800", kill_on_drop: false }`
[INFO] [stdout] 8f44dd5783438290ec6d92d44f237a40c48279265c402da38dea61b9536e4800
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f4dfaff314e13cc2787565ad0f2f6b2d6489bb2226fa6a5186aa1c082edd30f
[INFO] running `Command { std: "docker" "start" "-a" "3f4dfaff314e13cc2787565ad0f2f6b2d6489bb2226fa6a5186aa1c082edd30f", kill_on_drop: false }`
[INFO] [stderr]    Compiling ins v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/settings/context.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 key,
[INFO] [stdout]     |                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/settings/context.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 key,
[INFO] [stdout]     |                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `options`
[INFO] [stdout]    --> src/settings/context.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 options,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `options: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/settings/store.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let mut temp_file = NamedTempFile::new().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/settings/store.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let mut temp_file = NamedTempFile::new().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/settings/ui/handlers.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     ctx: &mut SettingsContext,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/settings/ui/menu.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn run_main_menu(ctx: &mut SettingsContext, initial_cursor: Option<usize>) -> Result<MenuAction> {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/video/nle_timeline.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let mut timeline = Timeline::new();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `InitialCursor` is more private than the item `FzfWrapper::initial_cursor`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:52:5
[INFO] [stdout]     |
[INFO] [stdout]  52 |     pub(crate) initial_cursor: Option<InitialCursor>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `FzfWrapper::initial_cursor` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `InitialCursor` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:386:1
[INFO] [stdout]     |
[INFO] [stdout] 386 | enum InitialCursor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PreviewStrategy` is more private than the item `PreviewUtils::analyze_preview_strategy`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:856:5
[INFO] [stdout]     |
[INFO] [stdout] 856 |     pub fn analyze_preview_strategy<T: FzfSelectable>(items: &[T]) -> Result<PreviewStrategy> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `PreviewUtils::analyze_preview_strategy` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `PreviewStrategy` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/menu_utils/fzf.rs:824:1
[INFO] [stdout]     |
[INFO] [stdout] 824 | enum PreviewStrategy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HyprlandWorkspaceInfo` is never constructed
[INFO] [stdout]    --> src/common/compositor/hyprland.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct HyprlandWorkspaceInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dispatch_command` is never used
[INFO] [stdout]    --> src/common/compositor/hyprland.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn dispatch_command(command: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CommandSucceeds` is never constructed
[INFO] [stdout]   --> src/common/requirements.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum InstallTest {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     CommandSucceeds {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstallTest` 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: method `get_package_name` is never used
[INFO] [stdout]    --> src/common/requirements.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl RequiredPackage {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_package_name(&self) -> Option<(&'static str, PackageManager)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ServiceState` is never used
[INFO] [stdout]   --> src/common/systemd.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum ServiceState {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ServiceEnablement` is never used
[INFO] [stdout]   --> src/common/systemd.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum ServiceEnablement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/common/systemd.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl SystemdManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn get_state(&self, service_name: &str) -> ServiceState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn get_enablement(&self, service_name: &str) -> ServiceEnablement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn stop(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn enable(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn disable(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn create_user_service_file(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn remove_user_service_file(&self, service_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_service_is_active` is never used
[INFO] [stdout]    --> src/common/systemd.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub fn system_service_is_active(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_service_is_enabled` is never used
[INFO] [stdout]    --> src/common/systemd.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn system_service_is_enabled(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `user_service_is_active` is never used
[INFO] [stdout]    --> src/common/systemd.rs:399:12
[INFO] [stdout]     |
[INFO] [stdout] 399 |     pub fn user_service_is_active(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `user_service_is_enabled` is never used
[INFO] [stdout]    --> src/common/systemd.rs:404:12
[INFO] [stdout]     |
[INFO] [stdout] 404 |     pub fn user_service_is_enabled(service_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `file_name` and `install_instructions` are never used
[INFO] [stdout]   --> src/completions/mod.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SupportedShell {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn file_name(self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn install_instructions(self, install_path: &Path) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `instructions` is never used
[INFO] [stdout]    --> src/completions/mod.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn instructions(shell: SupportedShell, install_path: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `target_to_source` is never used
[INFO] [stdout]    --> src/dot/localrepo.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl LocalRepo {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn target_to_source(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> src/dot/repo/manager.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct RepositoryManager<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 10 |     config: &'a Config,
[INFO] [stdout] 11 |     db: &'a Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_tracked_file` is never used
[INFO] [stdout]    --> src/dot/operations/add.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn update_tracked_file(dotfile: &Dotfile, db: &Database) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_inner` is never used
[INFO] [stdout]   --> src/dot/types.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl RepoName {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn into_inner(self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_dotfiles_by_path_owned` is never used
[INFO] [stdout]    --> src/dot/utils.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub fn filter_dotfiles_by_path_owned(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_description` and `with_launch_command` are never used
[INFO] [stdout]    --> src/game/config.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Game {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn with_description(mut self, description: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn with_launch_command(mut self, command: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_launch_command` is never used
[INFO] [stdout]    --> src/game/config.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl GameInstallation {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn with_launch_command(mut self, command: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_path_for_display` is never used
[INFO] [stdout]   --> src/game/deps/display.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn format_path_for_display(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_game_name_unique` is never used
[INFO] [stdout]  --> src/game/games/validation.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn validate_game_name_unique(name: &str) -> Result<bool> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_game_exists` is never used
[INFO] [stdout]   --> src/game/games/validation.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn validate_game_exists(name: &str) -> Result<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_game_backups` is never used
[INFO] [stdout]   --> src/game/restic/backup.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl GameBackup {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn list_game_backups(&self, game_name: &str) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cache_stats` is never used
[INFO] [stdout]    --> src/game/restic/cache.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn get_cache_stats() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `refresh_snapshots_for_game` is never used
[INFO] [stdout]    --> src/game/restic/cache.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn refresh_snapshots_for_game(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResticCommand` is never constructed
[INFO] [stdout]  --> src/game/restic/commands.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ResticCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `base_command`, `init`, `check_repo`, `stats`, and `list_snapshots` are never used
[INFO] [stdout]   --> src/game/restic/commands.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ResticCommand {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(config: InstantGameConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     fn base_command(&self) -> Result<Command> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn init(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn check_repo(&self) -> Result<bool> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn stats(&self) -> Result<String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn list_snapshots(&self, tags: Option<Vec<&str>>) -> Result<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `progress` is never read
[INFO] [stdout]   --> src/game/restic/dependencies.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DependencyBackupResult {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub progress: BackupProgress,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `save_path_exists` is never read
[INFO] [stdout]   --> src/game/restic/security.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct SecurityValidationResult {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] 23 |     pub save_path_exists: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityValidationResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_snapshot_interactive` is never used
[INFO] [stdout]    --> src/game/restic/snapshot_selection.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn select_snapshot_interactive(game_name: &str) -> Result<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `path_selection_to_pathbuf` is never used
[INFO] [stdout]   --> src/game/utils/path.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn path_selection_to_pathbuf(selection: PathInputSelection) -> Result<Option<PathBuf>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wine_prefix_path` is never used
[INFO] [stdout]   --> src/game/utils/path.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn wine_prefix_path(prefix: &Path, relative_path: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]   --> src/game/utils/save_files.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TimeComparison {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeComparison` 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: function `get_most_recent_file_time` is never used
[INFO] [stdout]   --> src/game/utils/save_files.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn get_most_recent_file_time(save_path: &Path) -> Result<Option<SystemTime>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_application` is never used
[INFO] [stdout]    --> src/launch/mod.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn execute_application(app_name: &str) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache_path` is never read
[INFO] [stdout]   --> src/launch/cache.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct LaunchCache {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 15 |     cache_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/launch/cache.rs:87:18
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl LaunchCache {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub async fn get_applications(&mut self) -> Result<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn is_cache_fresh(&self) -> Result<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn read_cache(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     async fn refresh_cache_background(cache_path: PathBuf) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn scan_path_directories(&self) -> Result<Vec<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     async fn scan_path_directories_static() -> Result<Vec<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn write_cache(cache_path: &Path, apps: &[String]) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn sort_by_frecency(&mut self, apps: &mut Vec<String>) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn record_launch(&mut self, app_name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn get_frecency_stats(&mut self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `icon`, `categories`, and `file_path` are never read
[INFO] [stdout]   --> src/launch/types.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DesktopAppDetails {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 13 |     pub exec: String,            // Exec command with field codes
[INFO] [stdout] 14 |     pub icon: Option<String>,    // Icon name
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 15 |     pub categories: Vec<String>, // Application categories
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub file_path: PathBuf,      // Path to .desktop file
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DesktopAppDetails` 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: struct `PathExecutableDetails` is never constructed
[INFO] [stdout]   --> src/launch/types.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct PathExecutableDetails {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hide` is never used
[INFO] [stdout]   --> src/menu/scratchpad_manager.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ScratchpadManager {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn hide(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `stop` and `compositor` are never used
[INFO] [stdout]    --> src/menu/server.rs:372:18
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl MenuServer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub async fn stop(&mut self) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn compositor(&self) -> &CompositorType {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `show_help` and `toggle_help` are never used
[INFO] [stdout]   --> src/menu/tui.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl MenuServerTui {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn show_help(&self) -> Arc<AtomicBool> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn toggle_help(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `pick_file` and `pick_files` are never used
[INFO] [stdout]    --> src/menu_utils/file_picker.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | impl MenuWrapper {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn pick_file() -> Result<Option<PathBuf>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn pick_files() -> Result<Vec<PathBuf>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `select_many`, `password_dialog`, and `confirm_dialog` are never used
[INFO] [stdout]    --> src/menu_utils/fzf.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl FzfWrapper {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn select_many<T: FzfSelectable + Clone>(items: Vec<T>) -> Result<Vec<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn password_dialog(prompt: &str) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn confirm_dialog(message: &str) -> Result<ConfirmResult> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ok_text` and `show_selection` are never used
[INFO] [stdout]    --> src/menu_utils/fzf.rs:478:12
[INFO] [stdout]     |
[INFO] [stdout] 390 | impl FzfBuilder {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub fn ok_text<S: Into<String>>(mut self, text: S) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn show_selection<T: FzfSelectable + Clone>(self, items: Vec<T>) -> Result<FzfResult<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreviewData` is never constructed
[INFO] [stdout]    --> src/menu_utils/fzf.rs:816:8
[INFO] [stdout]     |
[INFO] [stdout] 816 | struct PreviewData {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build_preview_mapping` is never used
[INFO] [stdout]    --> src/menu_utils/fzf.rs:836:12
[INFO] [stdout]     |
[INFO] [stdout] 835 | impl PreviewUtils {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 836 |     pub fn build_preview_mapping<T: FzfSelectable>(items: &[T]) -> Result<HashMap<String, String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `start_dir` is never used
[INFO] [stdout]   --> src/menu_utils/path_input.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl PathInputBuilder {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn start_dir<P: Into<PathBuf>>(mut self, dir: P) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_tilde_path`, `to_path_buf`, and `to_tilde_string` are never used
[INFO] [stdout]    --> src/menu_utils/path_input.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 211 | impl PathInputSelection {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 212 |     pub fn to_tilde_path(&self) -> Result<Option<TildePath>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn to_path_buf(&self) -> Result<Option<PathBuf>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn to_tilde_string(&self) -> Result<Option<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_enabled` is never used
[INFO] [stdout]   --> src/restic/logging.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl ResticCommandLogger {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn with_enabled(enabled: bool) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]    --> src/restic/wrapper.rs:496:9
[INFO] [stdout]     |
[INFO] [stdout] 494 | pub struct BackupProgress {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 495 |     pub summary: Option<BackupSummary>,
[INFO] [stdout] 496 |     pub errors: Vec<BackupError>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackupProgress` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_app_name` is never used
[INFO] [stdout]    --> src/settings/defaultapps.rs:572:4
[INFO] [stdout]     |
[INFO] [stdout] 572 | fn get_app_name(desktop_file: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_satisfied` is never used
[INFO] [stdout]   --> src/settings/registry.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SettingRequirement {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 22 |     /// Check if this requirement is currently satisfied
[INFO] [stdout] 23 |     pub fn is_satisfied(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setting_by_id` is never used
[INFO] [stdout]    --> src/settings/registry.rs:783:8
[INFO] [stdout]     |
[INFO] [stdout] 783 | pub fn setting_by_id(id: &str) -> Option<&'static SettingDefinition> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `path` is never used
[INFO] [stdout]    --> src/settings/store.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl SettingsStore {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save` is never used
[INFO] [stdout]    --> src/video/config.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl VideoConfig {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `markdown_path` is never used
[INFO] [stdout]    --> src/video/config.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl VideoProjectPaths {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn markdown_path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generated_at` is never read
[INFO] [stdout]   --> src/video/document.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct VideoMetadata {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub generated_at: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VideoMetadata` 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 `0` is never read
[INFO] [stdout]   --> src/video/document.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Separator(SeparatorBlock),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DocumentBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Separator(SeparatorBlock),
[INFO] [stdout] 37 +     Separator(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> src/video/document.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct SeparatorBlock {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 71 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SeparatorBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]   --> src/video/nle_timeline.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     VideoSubset {
[INFO] [stdout]    |     ----------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 32 |         transform: Option<Transform>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SegmentData` 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: associated functions `with_rotation` and `with_translation` are never used
[INFO] [stdout]    --> src/video/nle_timeline.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl Transform {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn with_rotation(degrees: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn with_translation(x: f32, y: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `transform` is never used
[INFO] [stdout]    --> src/video/nle_timeline.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl SegmentData {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn transform(&self) -> Option<&Transform> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target_height` is never read
[INFO] [stdout]    --> src/video/render.rs:404:5
[INFO] [stdout]     |
[INFO] [stdout] 400 | struct RenderPipeline {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 404 |     target_height: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]   --> src/video/timeline.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct OverlayPlan {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 37 |     pub markdown: String,
[INFO] [stdout] 38 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OverlayPlan` 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 `line` is never read
[INFO] [stdout]   --> src/video/timeline.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     Heading {
[INFO] [stdout]    |     ------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 46 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StandalonePlan` 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: fields `display_text` and `line` are never read
[INFO] [stdout]   --> src/video/timeline.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     Pause {
[INFO] [stdout]    |     ----- fields in this variant
[INFO] [stdout] 49 |         markdown: String,
[INFO] [stdout] 50 |         display_text: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 51 |         line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StandalonePlan` 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 `line` is never read
[INFO] [stdout]   --> src/video/timeline.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct MusicPlan {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 57 |     pub directive: MusicDirective,
[INFO] [stdout] 58 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MusicPlan` 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: method `generate_image` is never used
[INFO] [stdout]   --> src/video/title_card.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl TitleCardGenerator {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn generate_image(&self, level: u32, text: &str, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.38s
[INFO] running `Command { std: "docker" "inspect" "3f4dfaff314e13cc2787565ad0f2f6b2d6489bb2226fa6a5186aa1c082edd30f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f4dfaff314e13cc2787565ad0f2f6b2d6489bb2226fa6a5186aa1c082edd30f", kill_on_drop: false }`
[INFO] [stdout] 3f4dfaff314e13cc2787565ad0f2f6b2d6489bb2226fa6a5186aa1c082edd30f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b1e249943ee4108febfc5953c65917d016c0cd24d82715e6cc0b385aa51f3b09
[INFO] running `Command { std: "docker" "start" "-a" "b1e249943ee4108febfc5953c65917d016c0cd24d82715e6cc0b385aa51f3b09", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/settings/context.rs:236:17
[INFO] [stderr]     |
[INFO] [stderr] 236 |                 key,
[INFO] [stderr]     |                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/settings/context.rs:255:17
[INFO] [stderr]     |
[INFO] [stderr] 255 |                 key,
[INFO] [stderr]     |                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `options`
[INFO] [stderr]    --> src/settings/context.rs:256:17
[INFO] [stderr]     |
[INFO] [stderr] 256 |                 options,
[INFO] [stderr]     |                 ^^^^^^^ help: try ignoring the field: `options: _`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/settings/store.rs:239:13
[INFO] [stderr]     |
[INFO] [stderr] 239 |         let mut temp_file = NamedTempFile::new().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: variable does not need to be mutable
[INFO] [stderr]    --> src/settings/store.rs:262:13
[INFO] [stderr]     |
[INFO] [stderr] 262 |         let mut temp_file = NamedTempFile::new().unwrap();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/settings/ui/handlers.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 |     ctx: &mut SettingsContext,
[INFO] [stderr]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/settings/ui/menu.rs:173:18
[INFO] [stderr]     |
[INFO] [stderr] 173 | fn run_main_menu(ctx: &mut SettingsContext, initial_cursor: Option<usize>) -> Result<MenuAction> {
[INFO] [stderr]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/video/nle_timeline.rs:300:13
[INFO] [stderr]     |
[INFO] [stderr] 300 |         let mut timeline = Timeline::new();
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: type `InitialCursor` is more private than the item `FzfWrapper::initial_cursor`
[INFO] [stderr]    --> src/menu_utils/fzf.rs:52:5
[INFO] [stderr]     |
[INFO] [stderr]  52 |     pub(crate) initial_cursor: Option<InitialCursor>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `FzfWrapper::initial_cursor` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `InitialCursor` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/menu_utils/fzf.rs:386:1
[INFO] [stderr]     |
[INFO] [stderr] 386 | enum InitialCursor {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `PreviewStrategy` is more private than the item `PreviewUtils::analyze_preview_strategy`
[INFO] [stderr]    --> src/menu_utils/fzf.rs:856:5
[INFO] [stderr]     |
[INFO] [stderr] 856 |     pub fn analyze_preview_strategy<T: FzfSelectable>(items: &[T]) -> Result<PreviewStrategy> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `PreviewUtils::analyze_preview_strategy` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `PreviewStrategy` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/menu_utils/fzf.rs:824:1
[INFO] [stderr]     |
[INFO] [stderr] 824 | enum PreviewStrategy {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `HyprlandWorkspaceInfo` is never constructed
[INFO] [stderr]    --> src/common/compositor/hyprland.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 | struct HyprlandWorkspaceInfo {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `dispatch_command` is never used
[INFO] [stderr]    --> src/common/compositor/hyprland.rs:168:8
[INFO] [stderr]     |
[INFO] [stderr] 168 | pub fn dispatch_command(command: &str) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `CommandSucceeds` is never constructed
[INFO] [stderr]   --> src/common/requirements.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub enum InstallTest {
[INFO] [stderr]    |          ----------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 15 |     CommandSucceeds {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `InstallTest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_package_name` is never used
[INFO] [stderr]    --> src/common/requirements.rs:145:12
[INFO] [stderr]     |
[INFO] [stderr]  88 | impl RequiredPackage {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 145 |     pub fn get_package_name(&self) -> Option<(&'static str, PackageManager)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ServiceState` is never used
[INFO] [stderr]   --> src/common/systemd.rs:23:10
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub enum ServiceState {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ServiceEnablement` is never used
[INFO] [stderr]   --> src/common/systemd.rs:32:10
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub enum ServiceEnablement {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/common/systemd.rs:162:12
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl SystemdManager {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 162 |     pub fn get_state(&self, service_name: &str) -> ServiceState {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub fn get_enablement(&self, service_name: &str) -> ServiceEnablement {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     pub fn stop(&self, service_name: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn enable(&self, service_name: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     pub fn disable(&self, service_name: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 308 |     pub fn create_user_service_file(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 336 |     pub fn remove_user_service_file(&self, service_name: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `system_service_is_active` is never used
[INFO] [stderr]    --> src/common/systemd.rs:389:12
[INFO] [stderr]     |
[INFO] [stderr] 389 |     pub fn system_service_is_active(service_name: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `system_service_is_enabled` is never used
[INFO] [stderr]    --> src/common/systemd.rs:394:12
[INFO] [stderr]     |
[INFO] [stderr] 394 |     pub fn system_service_is_enabled(service_name: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `user_service_is_active` is never used
[INFO] [stderr]    --> src/common/systemd.rs:399:12
[INFO] [stderr]     |
[INFO] [stderr] 399 |     pub fn user_service_is_active(service_name: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `user_service_is_enabled` is never used
[INFO] [stderr]    --> src/common/systemd.rs:404:12
[INFO] [stderr]     |
[INFO] [stderr] 404 |     pub fn user_service_is_enabled(service_name: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `file_name` and `install_instructions` are never used
[INFO] [stderr]   --> src/completions/mod.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl SupportedShell {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     fn file_name(self) -> &'static str {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     fn install_instructions(self, install_path: &Path) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `instructions` is never used
[INFO] [stderr]    --> src/completions/mod.rs:116:8
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub fn instructions(shell: SupportedShell, install_path: &Path) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `target_to_source` is never used
[INFO] [stderr]    --> src/dot/localrepo.rs:122:12
[INFO] [stderr]     |
[INFO] [stderr]  41 | impl LocalRepo {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn target_to_source(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `db` is never read
[INFO] [stderr]   --> src/dot/repo/manager.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct RepositoryManager<'a> {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] 10 |     config: &'a Config,
[INFO] [stderr] 11 |     db: &'a Database,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `update_tracked_file` is never used
[INFO] [stderr]    --> src/dot/operations/add.rs:159:4
[INFO] [stderr]     |
[INFO] [stderr] 159 | fn update_tracked_file(dotfile: &Dotfile, db: &Database) -> Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `into_inner` is never used
[INFO] [stderr]   --> src/dot/types.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl RepoName {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub fn into_inner(self) -> String {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `filter_dotfiles_by_path_owned` is never used
[INFO] [stderr]    --> src/dot/utils.rs:194:8
[INFO] [stderr]     |
[INFO] [stderr] 194 | pub fn filter_dotfiles_by_path_owned(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_description` and `with_launch_command` are never used
[INFO] [stderr]    --> src/game/config.rs:145:12
[INFO] [stderr]     |
[INFO] [stderr] 135 | impl Game {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 145 |     pub fn with_description(mut self, description: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |     pub fn with_launch_command(mut self, command: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_launch_command` is never used
[INFO] [stderr]    --> src/game/config.rs:212:12
[INFO] [stderr]     |
[INFO] [stderr] 179 | impl GameInstallation {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 212 |     pub fn with_launch_command(mut self, command: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_path_for_display` is never used
[INFO] [stderr]   --> src/game/deps/display.rs:82:4
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn format_path_for_display(path: &str) -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_game_name_unique` is never used
[INFO] [stderr]  --> src/game/games/validation.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn validate_game_name_unique(name: &str) -> Result<bool> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_game_exists` is never used
[INFO] [stderr]   --> src/game/games/validation.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn validate_game_exists(name: &str) -> Result<bool> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `list_game_backups` is never used
[INFO] [stderr]   --> src/game/restic/backup.rs:94:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl GameBackup {
[INFO] [stderr]    | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 94 |     pub fn list_game_backups(&self, game_name: &str) -> Result<String> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_cache_stats` is never used
[INFO] [stderr]    --> src/game/restic/cache.rs:133:8
[INFO] [stderr]     |
[INFO] [stderr] 133 | pub fn get_cache_stats() -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `refresh_snapshots_for_game` is never used
[INFO] [stderr]    --> src/game/restic/cache.rs:160:8
[INFO] [stderr]     |
[INFO] [stderr] 160 | pub fn refresh_snapshots_for_game(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ResticCommand` is never constructed
[INFO] [stderr]  --> src/game/restic/commands.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct ResticCommand {
[INFO] [stderr]   |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `base_command`, `init`, `check_repo`, `stats`, and `list_snapshots` are never used
[INFO] [stderr]   --> src/game/restic/commands.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl ResticCommand {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 12 |     pub fn new(config: InstantGameConfig) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |     fn base_command(&self) -> Result<Command> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     pub fn init(&self) -> Result<()> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn check_repo(&self) -> Result<bool> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn stats(&self) -> Result<String> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn list_snapshots(&self, tags: Option<Vec<&str>>) -> Result<String> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `progress` is never read
[INFO] [stderr]   --> src/game/restic/dependencies.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct DependencyBackupResult {
[INFO] [stderr]    |            ---------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 14 |     pub progress: BackupProgress,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `save_path_exists` is never read
[INFO] [stderr]   --> src/game/restic/security.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct SecurityValidationResult {
[INFO] [stderr]    |            ------------------------ field in this struct
[INFO] [stderr] 23 |     pub save_path_exists: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SecurityValidationResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `select_snapshot_interactive` is never used
[INFO] [stderr]    --> src/game/restic/snapshot_selection.rs:384:8
[INFO] [stderr]     |
[INFO] [stderr] 384 | pub fn select_snapshot_interactive(game_name: &str) -> Result<Option<String>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `path_selection_to_pathbuf` is never used
[INFO] [stderr]   --> src/game/utils/path.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub fn path_selection_to_pathbuf(selection: PathInputSelection) -> Result<Option<PathBuf>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `wine_prefix_path` is never used
[INFO] [stderr]   --> src/game/utils/path.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn wine_prefix_path(prefix: &Path, relative_path: &str) -> PathBuf {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Error` is never constructed
[INFO] [stderr]   --> src/game/utils/save_files.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum TimeComparison {
[INFO] [stderr]    |          -------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 21 |     Error(String),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TimeComparison` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_most_recent_file_time` is never used
[INFO] [stderr]   --> src/game/utils/save_files.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub fn get_most_recent_file_time(save_path: &Path) -> Result<Option<SystemTime>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `execute_application` is never used
[INFO] [stderr]    --> src/launch/mod.rs:143:4
[INFO] [stderr]     |
[INFO] [stderr] 143 | fn execute_application(app_name: &str) -> Result<()> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `cache_path` is never read
[INFO] [stderr]   --> src/launch/cache.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct LaunchCache {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 15 |     cache_path: PathBuf,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/launch/cache.rs:87:18
[INFO] [stderr]     |
[INFO] [stderr]  22 | impl LaunchCache {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  87 |     pub async fn get_applications(&mut self) -> Result<Vec<String>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     fn is_cache_fresh(&self) -> Result<bool> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |     fn read_cache(&self) -> Result<Vec<String>> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     async fn refresh_cache_background(cache_path: PathBuf) -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 174 |     fn scan_path_directories(&self) -> Result<Vec<String>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 220 |     async fn scan_path_directories_static() -> Result<Vec<String>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 266 |     fn write_cache(cache_path: &Path, apps: &[String]) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 281 |     fn sort_by_frecency(&mut self, apps: &mut Vec<String>) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 319 |     pub fn record_launch(&mut self, app_name: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 337 |     pub fn get_frecency_stats(&mut self) -> Result<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `icon`, `categories`, and `file_path` are never read
[INFO] [stderr]   --> src/launch/types.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct DesktopAppDetails {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] 13 |     pub exec: String,            // Exec command with field codes
[INFO] [stderr] 14 |     pub icon: Option<String>,    // Icon name
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 15 |     pub categories: Vec<String>, // Application categories
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     pub file_path: PathBuf,      // Path to .desktop file
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DesktopAppDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PathExecutableDetails` is never constructed
[INFO] [stderr]   --> src/launch/types.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct PathExecutableDetails {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `hide` is never used
[INFO] [stderr]   --> src/menu/scratchpad_manager.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl ScratchpadManager {
[INFO] [stderr]    | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn hide(&self) -> Result<()> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `stop` and `compositor` are never used
[INFO] [stderr]    --> src/menu/server.rs:372:18
[INFO] [stderr]     |
[INFO] [stderr]  74 | impl MenuServer {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 372 |     pub async fn stop(&mut self) {
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 378 |     pub fn compositor(&self) -> &CompositorType {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `show_help` and `toggle_help` are never used
[INFO] [stderr]   --> src/menu/tui.rs:52:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | impl MenuServerTui {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn show_help(&self) -> Arc<AtomicBool> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn toggle_help(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `pick_file` and `pick_files` are never used
[INFO] [stderr]    --> src/menu_utils/file_picker.rs:304:12
[INFO] [stderr]     |
[INFO] [stderr] 299 | impl MenuWrapper {
[INFO] [stderr]     | ---------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 304 |     pub fn pick_file() -> Result<Option<PathBuf>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 308 |     pub fn pick_files() -> Result<Vec<PathBuf>> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `select_many`, `password_dialog`, and `confirm_dialog` are never used
[INFO] [stderr]    --> src/menu_utils/fzf.rs:308:12
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl FzfWrapper {
[INFO] [stderr]     | --------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 308 |     pub fn select_many<T: FzfSelectable + Clone>(items: Vec<T>) -> Result<Vec<T>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 332 |     pub fn password_dialog(prompt: &str) -> Result<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 340 |     pub fn confirm_dialog(message: &str) -> Result<ConfirmResult> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `ok_text` and `show_selection` are never used
[INFO] [stderr]    --> src/menu_utils/fzf.rs:478:12
[INFO] [stderr]     |
[INFO] [stderr] 390 | impl FzfBuilder {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 478 |     pub fn ok_text<S: Into<String>>(mut self, text: S) -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 542 |     pub fn show_selection<T: FzfSelectable + Clone>(self, items: Vec<T>) -> Result<FzfResult<T>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PreviewData` is never constructed
[INFO] [stderr]    --> src/menu_utils/fzf.rs:816:8
[INFO] [stderr]     |
[INFO] [stderr] 816 | struct PreviewData {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `build_preview_mapping` is never used
[INFO] [stderr]    --> src/menu_utils/fzf.rs:836:12
[INFO] [stderr]     |
[INFO] [stderr] 835 | impl PreviewUtils {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] 836 |     pub fn build_preview_mapping<T: FzfSelectable>(items: &[T]) -> Result<HashMap<String, String>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `start_dir` is never used
[INFO] [stderr]   --> src/menu_utils/path_input.rs:85:12
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl PathInputBuilder {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 85 |     pub fn start_dir<P: Into<PathBuf>>(mut self, dir: P) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `to_tilde_path`, `to_path_buf`, and `to_tilde_string` are never used
[INFO] [stderr]    --> src/menu_utils/path_input.rs:212:12
[INFO] [stderr]     |
[INFO] [stderr] 211 | impl PathInputSelection {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] 212 |     pub fn to_tilde_path(&self) -> Result<Option<TildePath>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |     pub fn to_path_buf(&self) -> Result<Option<PathBuf>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 230 |     pub fn to_tilde_string(&self) -> Result<Option<String>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_enabled` is never used
[INFO] [stderr]   --> src/restic/logging.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl ResticCommandLogger {
[INFO] [stderr]    | ------------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn with_enabled(enabled: bool) -> Result<Self> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `errors` is never read
[INFO] [stderr]    --> src/restic/wrapper.rs:496:9
[INFO] [stderr]     |
[INFO] [stderr] 494 | pub struct BackupProgress {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] 495 |     pub summary: Option<BackupSummary>,
[INFO] [stderr] 496 |     pub errors: Vec<BackupError>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BackupProgress` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_app_name` is never used
[INFO] [stderr]    --> src/settings/defaultapps.rs:572:4
[INFO] [stderr]     |
[INFO] [stderr] 572 | fn get_app_name(desktop_file: &str) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_satisfied` is never used
[INFO] [stderr]   --> src/settings/registry.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl SettingRequirement {
[INFO] [stderr]    | ----------------------- method in this implementation
[INFO] [stderr] 22 |     /// Check if this requirement is currently satisfied
[INFO] [stderr] 23 |     pub fn is_satisfied(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `setting_by_id` is never used
[INFO] [stderr]    --> src/settings/registry.rs:783:8
[INFO] [stderr]     |
[INFO] [stderr] 783 | pub fn setting_by_id(id: &str) -> Option<&'static SettingDefinition> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `path` is never used
[INFO] [stderr]    --> src/settings/store.rs:160:12
[INFO] [stderr]     |
[INFO] [stderr] 102 | impl SettingsStore {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn path(&self) -> &Path {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `save` is never used
[INFO] [stderr]    --> src/video/config.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr]  81 | impl VideoConfig {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 106 |     pub fn save(&self) -> Result<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `markdown_path` is never used
[INFO] [stderr]    --> src/video/config.rs:167:12
[INFO] [stderr]     |
[INFO] [stderr] 139 | impl VideoProjectPaths {
[INFO] [stderr]     | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 167 |     pub fn markdown_path(&self) -> &Path {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `generated_at` is never read
[INFO] [stderr]   --> src/video/document.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct VideoMetadata {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 18 |     pub generated_at: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `VideoMetadata` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/video/document.rs:37:15
[INFO] [stderr]    |
[INFO] [stderr] 37 |     Separator(SeparatorBlock),
[INFO] [stderr]    |     --------- ^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DocumentBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 37 -     Separator(SeparatorBlock),
[INFO] [stderr] 37 +     Separator(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `line` is never read
[INFO] [stderr]   --> src/video/document.rs:71:9
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub struct SeparatorBlock {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 71 |     pub line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SeparatorBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `transform` is never read
[INFO] [stderr]   --> src/video/nle_timeline.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 26 |     VideoSubset {
[INFO] [stderr]    |     ----------- field in this variant
[INFO] [stderr] ...
[INFO] [stderr] 32 |         transform: Option<Transform>,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SegmentData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `with_rotation` and `with_translation` are never used
[INFO] [stderr]    --> src/video/nle_timeline.rs:171:12
[INFO] [stderr]     |
[INFO] [stderr] 151 | impl Transform {
[INFO] [stderr]     | -------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 171 |     pub fn with_rotation(degrees: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub fn with_translation(x: f32, y: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `transform` is never used
[INFO] [stderr]    --> src/video/nle_timeline.rs:211:12
[INFO] [stderr]     |
[INFO] [stderr] 200 | impl SegmentData {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 211 |     pub fn transform(&self) -> Option<&Transform> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `target_height` is never read
[INFO] [stderr]    --> src/video/render.rs:404:5
[INFO] [stderr]     |
[INFO] [stderr] 400 | struct RenderPipeline {
[INFO] [stderr]     |        -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 404 |     target_height: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `line` is never read
[INFO] [stderr]   --> src/video/timeline.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct OverlayPlan {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 37 |     pub markdown: String,
[INFO] [stderr] 38 |     pub line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OverlayPlan` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `line` is never read
[INFO] [stderr]   --> src/video/timeline.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |     Heading {
[INFO] [stderr]    |     ------- field in this variant
[INFO] [stderr] ...
[INFO] [stderr] 46 |         line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StandalonePlan` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `display_text` and `line` are never read
[INFO] [stderr]   --> src/video/timeline.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     Pause {
[INFO] [stderr]    |     ----- fields in this variant
[INFO] [stderr] 49 |         markdown: String,
[INFO] [stderr] 50 |         display_text: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 51 |         line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StandalonePlan` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `line` is never read
[INFO] [stderr]   --> src/video/timeline.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct MusicPlan {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 57 |     pub directive: MusicDirective,
[INFO] [stderr] 58 |     pub line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MusicPlan` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `generate_image` is never used
[INFO] [stderr]   --> src/video/title_card.rs:96:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl TitleCardGenerator {
[INFO] [stderr]    | ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 96 |     pub fn generate_image(&self, level: u32, text: &str, output_path: &Path) -> Result<()> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ins` (bin "ins" test) generated 80 warnings (run `cargo fix --bin "ins" -p ins --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ins-42a958dc503a7e43)
[INFO] [stdout] 
[INFO] [stdout] running 113 tests
[INFO] [stdout] test common::compositor::hyprland::tests::test_command_construction ... ok
[INFO] [stdout] test common::compositor::tests::test_wayland_detection ... ok
[INFO] [stdout] test common::compositor::tests::test_compositor_name ... ok
[INFO] [stdout] test common::systemd::tests::test_service_scope_args ... ok
[INFO] [stdout] test common::compositor::tests::test_x11_detection ... ok
[INFO] [stdout] test common::systemd::tests::test_udiskie_service_content ... ok
[INFO] [stdout] test common::systemd::tests::test_user_service_config ... ok
[INFO] [stdout] test common::systemd::tests::test_udiskie_service_config ... ok
[INFO] [stdout] test common::systemd::tests::test_user_service_config_custom ... ok
[INFO] [stdout] test dot::path_serde::tests::test_tilde_compression ... ok
[INFO] [stdout] test dot::path_serde::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test dot::path_serde::tests::test_tilde_expansion ... ok
[INFO] [stdout] test common::compositor::sway::tests::test_swaymsg_command_format ... ok
[INFO] [stdout] test dot::path_tests::tests::test_resolve_dotfile_path_absolute_path ... ok
[INFO] [stdout] test dot::path_tests::tests::test_resolve_dotfile_path_nonexistent ... ok
[INFO] [stdout] test dot::path_tests::tests::test_resolve_dotfile_path_outside_home ... ok
[INFO] [stdout] test game::config::tests::test_game_installation_new ... ok
[INFO] [stdout] test dot::path_tests::tests::test_resolve_dotfile_path_tilde_expansion ... ok
[INFO] [stdout] test game::config::tests::test_game_installation_clear_checkpoint ... ok
[INFO] [stdout] test game::config::tests::test_game_installation_update_checkpoint ... ok
[INFO] [stdout] test common::compositor::tests::test_compositor_detection ... ok
[INFO] [stdout] test game::config::tests::test_game_installation_with_checkpoint ... ok
[INFO] [stdout] test game::config::tests::test_retention_policy_defaults ... ok
[INFO] [stdout] test game::config::tests::test_retention_policy_overrides ... ok
[INFO] [stdout] test game::operations::launch::tests::games_without_command_are_filtered_out ... ok
[INFO] [stdout] test game::operations::launch::tests::game_command_used_when_installation_missing ... ok
[INFO] [stdout] test game::operations::launch::tests::installation_overrides_game_command ... ok
[INFO] [stdout] test game::restic::tags::tests::test_create_game_tags ... ok
[INFO] [stdout] test game::restic::tags::tests::test_debug_snapshot_tags ... ok
[INFO] [stdout] test game::restic::tags::tests::test_dependency_tag_encoding_decoding ... ok
[INFO] [stdout] test game::restic::tags::tests::test_encode_decode_complex_name ... ok
[INFO] [stdout] test game::restic::tags::tests::test_encode_decode_simple_name ... ok
[INFO] [stdout] test game::restic::tags::tests::test_encode_decode_special_chars ... ok
[INFO] [stdout] test game::restic::tags::tests::test_encode_decode_with_commas ... ok
[INFO] [stdout] test game::restic::tags::tests::test_extract_game_name_from_invalid_tags ... ok
[INFO] [stdout] test game::restic::tags::tests::test_extract_game_name_from_tags ... ok
[INFO] [stdout] test game::setup::install::tests::restore_not_attempted_without_snapshots ... ok
[INFO] [stdout] test game::setup::install::tests::restore_occurs_without_prompt_for_new_directories ... ok
[INFO] [stdout] test game::setup::install::tests::restore_prompts_when_single_file_exists ... ok
[INFO] [stdout] test game::setup::paths::tests::test_normalize_path_for_cross_device ... ok
[INFO] [stdout] test game::setup::restic::tests::infer_snapshot_kind_detects_directory_save ... ok
[INFO] [stdout] test game::setup::install::tests::restore_occurs_for_single_file_when_missing ... ok
[INFO] [stdout] test game::setup::install::tests::restore_requires_confirmation_when_files_exist ... ok
[INFO] [stdout] test game::setup::restic::tests::infer_snapshot_kind_detects_single_file_save ... ok
[INFO] [stdout] test menu::client::tests::test_client_creation ... ok
[INFO] [stdout] test menu::client::tests::test_request_id_generation ... ok
[INFO] [stdout] test menu::processing::tests::test_request_counter ... ok
[INFO] [stdout] test menu::processing::tests::test_processor_creation ... ok
[INFO] [stdout] test menu::processing::tests::test_stop_request ... ok
[INFO] [stdout] test menu::protocol::tests::test_choice_response_serialization ... ok
[INFO] [stdout] test menu::protocol::tests::test_menu_item_with_metadata ... ok
[INFO] [stdout] test menu::protocol::tests::test_message_envelope ... ok
[INFO] [stdout] test menu::protocol::tests::test_request_serialization ... ok
[INFO] [stdout] test menu::protocol::tests::test_response_serialization ... ok
[INFO] [stdout] test menu::protocol::tests::test_rich_choice_request_serialization ... ok
[INFO] [stdout] test menu::protocol::tests::test_serializable_menu_item_creation ... ok
[INFO] [stdout] test menu::scratchpad_manager::tests::test_scratchpad_manager_creation ... ok
[INFO] [stdout] test menu::server::tests::test_server_creation ... ok
[INFO] [stdout] test scratchpad::config::tests::test_custom_config ... ok
[INFO] [stdout] test scratchpad::config::tests::test_default_config ... ok
[INFO] [stdout] test scratchpad::config::tests::test_terminal_command_generation ... ok
[INFO] [stdout] test scratchpad::operations::tests::test_check_window_exists ... ok
[INFO] [stdout] test scratchpad::terminal::tests::test_terminal_class_flag ... ok
[INFO] [stdout] test scratchpad::terminal::tests::test_terminal_command ... ok
[INFO] [stdout] test scratchpad::terminal::tests::test_terminal_default ... ok
[INFO] [stdout] test scratchpad::terminal::tests::test_terminal_from_string ... ok
[INFO] [stdout] test scratchpad::visibility::tests::test_show_hide_functions_exist ... ok
[INFO] [stdout] test settings::printer::tests::test_analyze_nsswitch_config_already_configured ... ok
[INFO] [stdout] test settings::printer::tests::test_analyze_nsswitch_config_alternative_configured ... ok
[INFO] [stdout] test settings::printer::tests::test_analyze_nsswitch_config_basic_no_mdns ... ok
[INFO] [stdout] test settings::printer::tests::test_analyze_nsswitch_config_current_user_config ... ok
[INFO] [stdout] test dot::db::tests::test_source_hash_exists ... ok
[INFO] [stdout] test settings::printer::tests::test_analyze_nsswitch_config_has_good_mdns ... ok
[INFO] [stdout] test settings::printer::tests::test_analyze_nsswitch_config_has_legacy_mdns ... ok
[INFO] [stdout] test scratchpad::operations::tests::test_wait_for_window_polling ... ok
[INFO] [stdout] test settings::printer::tests::test_analyze_nsswitch_config_no_hosts_line ... ok
[INFO] [stdout] test dot::db::tests::test_hash_exists ... ok
[INFO] [stdout] test settings::printer::tests::test_demo_current_user_analysis ... ok
[INFO] [stdout] test settings::printer::tests::test_generate_nsswitch_update_basic ... ok
[INFO] [stdout] test dot::db::tests::test_target_hash_exists ... ok
[INFO] [stdout] test settings::printer::tests::test_generate_nsswitch_update_current_user ... ok
[INFO] [stdout] test settings::printer::tests::test_generate_nsswitch_update_preserves_comments ... ok
[INFO] [stdout] test settings::printer::tests::test_is_legacy_hosts_line ... ok
[INFO] [stdout] test settings::printer::tests::test_recommended_lines ... ok
[INFO] [stdout] test settings::store::tests::test_empty_store ... ok
[INFO] [stdout] test settings::store::tests::test_get_and_set ... ok
[INFO] [stdout] test settings::users::utils::tests::accepts_valid_username ... ok
[INFO] [stdout] test settings::users::utils::tests::rejects_empty_username ... ok
[INFO] [stdout] test settings::store::tests::test_hierarchical_serialization ... ok
[INFO] [stdout] test settings::users::utils::tests::rejects_invalid_start ... ok
[INFO] [stdout] test video::document::tests::parses_music_blocks ... ok
[INFO] [stdout] test settings::store::tests::test_load_and_save_hierarchical_format ... ok
[INFO] [stdout] test settings::users::utils::tests::rejects_invalid_chars ... ok
[INFO] [stdout] test settings::users::utils::tests::rejects_too_long_username ... ok
[INFO] [stdout] test video::document::tests::parses_multiple_segments_within_single_paragraph ... ok
[INFO] [stdout] test settings::store::tests::test_settings_store_string ... ok
[INFO] [stdout] test video::document::tests::preserves_unhandled_text_when_no_segments ... ok
[INFO] [stdout] test video::document::tests::skips_html_comments ... ok
[INFO] [stdout] test settings::store::tests::test_settings_store_bool ... ok
[INFO] [stdout] test video::document::tests::skips_multiline_html_comments ... ok
[INFO] [stdout] test video::markdown::tests::inserts_silence_chunks ... ok
[INFO] [stdout] test video::nle_timeline::tests::test_add_segment ... ok
[INFO] [stdout] test video::nle_timeline::tests::test_transform_identity ... ok
[INFO] [stdout] test video::nle_timeline::tests::test_conversion ... ok
[INFO] [stdout] test video::srt::tests::parse_basic_srt ... ok
[INFO] [stdout] test video::nle_timeline::tests::test_segments_in_range ... ok
[INFO] [stdout] test video::nle_timeline::tests::test_timeline_creation ... ok
[INFO] [stdout] test video::timeline::tests::aligns_dialogue_segments_with_subtitles ... ok
[INFO] [stdout] test video::timeline::tests::redistributes_silence_segments_across_actual_gap ... ok
[INFO] [stdout] test video::timeline::tests::includes_music_blocks_in_plan ... ok
[INFO] [stdout] test video::music::tests::resolves_music_from_markdown_music_directory ... ok
[INFO] [stdout] test video::music::tests::returns_none_for_none_directive ... ok
[INFO] [stdout] test dot::dotfile::tests::test_apply_and_fetch ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 113 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b1e249943ee4108febfc5953c65917d016c0cd24d82715e6cc0b385aa51f3b09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1e249943ee4108febfc5953c65917d016c0cd24d82715e6cc0b385aa51f3b09", kill_on_drop: false }`
[INFO] [stdout] b1e249943ee4108febfc5953c65917d016c0cd24d82715e6cc0b385aa51f3b09
