[INFO] cloning repository https://github.com/MrTarik2112/WinDebloat-ForLinux [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MrTarik2112/WinDebloat-ForLinux" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrTarik2112%2FWinDebloat-ForLinux", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrTarik2112%2FWinDebloat-ForLinux'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d15f1a3b40b387ca45e558a4fda71ec09a209bb3 [INFO] checking MrTarik2112/WinDebloat-ForLinux against 8006091eb71ae7d9e9bccb66c6122c9d68af4466 for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMrTarik2112%2FWinDebloat-ForLinux" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 28% (1641/5795) Updating files: 29% (1681/5795) Updating files: 30% (1739/5795) Updating files: 30% (1780/5795) Updating files: 31% (1797/5795) Updating files: 32% (1855/5795) Updating files: 32% (1904/5795) Updating files: 33% (1913/5795) Updating files: 34% (1971/5795) Updating files: 34% (2016/5795) Updating files: 35% (2029/5795) Updating files: 35% (2032/5795) Updating files: 35% (2065/5795) Updating files: 35% (2069/5795) Updating files: 36% (2087/5795) Updating files: 37% (2145/5795) Updating files: 38% (2203/5795) Updating files: 39% (2261/5795) Updating files: 40% (2318/5795) Updating files: 41% (2376/5795) Updating files: 42% (2434/5795) Updating files: 43% (2492/5795) Updating files: 44% (2550/5795) Updating files: 45% (2608/5795) Updating files: 46% (2666/5795) Updating files: 47% (2724/5795) Updating files: 48% (2782/5795) Updating files: 48% (2818/5795) Updating files: 49% (2840/5795) Updating files: 50% (2898/5795) Updating files: 51% (2956/5795) Updating files: 52% (3014/5795) Updating files: 53% (3072/5795) Updating files: 54% (3130/5795) Updating files: 55% (3188/5795) Updating files: 56% (3246/5795) Updating files: 57% (3304/5795) Updating files: 58% (3362/5795) Updating files: 59% (3420/5795) Updating files: 60% (3477/5795) Updating files: 61% (3535/5795) Updating files: 62% (3593/5795) Updating files: 63% (3651/5795) Updating files: 63% (3706/5795) Updating files: 64% (3709/5795) Updating files: 65% (3767/5795) Updating files: 66% (3825/5795) Updating files: 67% (3883/5795) Updating files: 68% (3941/5795) Updating files: 69% (3999/5795) Updating files: 69% (4016/5795) Updating files: 70% (4057/5795) Updating files: 71% (4115/5795) Updating files: 72% (4173/5795) Updating files: 73% (4231/5795) Updating files: 74% (4289/5795) Updating files: 75% (4347/5795) Updating files: 76% (4405/5795) Updating files: 77% (4463/5795) Updating files: 78% (4521/5795) Updating files: 78% (4561/5795) Updating files: 78% (4566/5795) Updating files: 79% (4579/5795) Updating files: 80% (4636/5795) Updating files: 81% (4694/5795) Updating files: 82% (4752/5795) Updating files: 83% (4810/5795) Updating files: 84% (4868/5795) Updating files: 85% (4926/5795) Updating files: 86% (4984/5795) Updating files: 87% (5042/5795) Updating files: 88% (5100/5795) Updating files: 89% (5158/5795) Updating files: 90% (5216/5795) Updating files: 91% (5274/5795) Updating files: 92% (5332/5795) Updating files: 93% (5390/5795) Updating files: 94% (5448/5795) Updating files: 95% (5506/5795) Updating files: 95% (5537/5795) Updating files: 96% (5564/5795) Updating files: 97% (5622/5795) Updating files: 97% (5664/5795) Updating files: 98% (5680/5795) Updating files: 99% (5738/5795) Updating files: 100% (5795/5795) Updating files: 100% (5795/5795), done. [INFO] started tweaking git repo https://github.com/MrTarik2112/WinDebloat-ForLinux [INFO] finished tweaking git repo https://github.com/MrTarik2112/WinDebloat-ForLinux [INFO] tweaked toml for git repo https://github.com/MrTarik2112/WinDebloat-ForLinux written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MrTarik2112/WinDebloat-ForLinux on toolchain 8006091eb71ae7d9e9bccb66c6122c9d68af4466 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/MrTarik2112/WinDebloat-ForLinux 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" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen v0.2.121 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.121 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.121 [INFO] [stderr] Downloaded js-sys v0.3.98 [INFO] [stderr] Downloaded windows-implement v0.57.0 [INFO] [stderr] Downloaded env_filter v1.0.1 [INFO] [stderr] Downloaded windows-interface v0.57.0 [INFO] [stderr] Downloaded unicode-truncate v1.1.0 [INFO] [stderr] Downloaded objc2-user-notifications v0.3.2 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.121 [INFO] [stderr] Downloaded cassowary v0.3.0 [INFO] [stderr] Downloaded os_info v3.14.0 [INFO] [stderr] Downloaded objc2-core-location v0.3.2 [INFO] [stderr] Downloaded env_logger v0.11.10 [INFO] [stderr] Downloaded libredox v0.1.16 [INFO] [stderr] Downloaded objc2-core-data v0.3.2 [INFO] [stderr] Downloaded windows-core v0.57.0 [INFO] [stderr] Downloaded compact_str v0.8.1 [INFO] [stderr] Downloaded objc2-cloud-kit v0.3.2 [INFO] [stderr] Downloaded tar v0.4.45 [INFO] [stderr] Downloaded objc2-core-text v0.3.2 [INFO] [stderr] Downloaded objc2-core-image v0.3.2 [INFO] [stderr] Downloaded jiff-static v0.2.24 [INFO] [stderr] Downloaded cc v1.2.62 [INFO] [stderr] Downloaded ntapi v0.4.3 [INFO] [stderr] Downloaded sysinfo v0.33.1 [INFO] [stderr] Downloaded unicode-width v0.2.0 [INFO] [stderr] Downloaded ratatui v0.29.0 [INFO] [stderr] Downloaded objc2-ui-kit v0.3.2 [INFO] [stderr] Downloaded jiff v0.2.24 [INFO] [stderr] Downloaded windows v0.57.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595 [INFO] running `Command { std: "docker" "start" "f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking bitflags v2.11.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking typenum v1.20.0 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Checking anstyle-parse v1.0.0 [INFO] [stderr] Checking is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking anstyle-query v1.1.5 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking regex-syntax v0.8.10 [INFO] [stderr] Checking colorchoice v1.0.5 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking anstream v1.0.0 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking castaway v0.2.4 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking indexmap v2.14.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking simd-adler32 v0.3.9 [INFO] [stderr] Checking rayon-core v1.13.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Checking winnow v0.7.15 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking clap_lex v1.1.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking unicode-segmentation v1.13.2 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking rayon v1.12.0 [INFO] [stderr] Checking compact_str v0.8.1 [INFO] [stderr] Checking clap_builder v4.6.0 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking cpufeatures v0.2.17 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking iana-time-zone v0.1.65 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking unicode-width v0.2.0 [INFO] [stderr] Checking jiff v0.2.24 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Checking glob v0.3.3 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking xattr v1.6.1 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking mio v1.2.0 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking filetime v0.2.29 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking tar v0.4.45 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking uuid v1.23.1 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking sysinfo v0.33.1 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Checking env_filter v1.0.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Checking env_logger v0.11.10 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking clap v4.6.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking os_info v3.14.0 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking windebloat v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `total_size` [INFO] [stdout] --> src/core/auto_clean.rs:516:25 [INFO] [stdout] | [INFO] [stdout] 516 | let total_size: u64 = items.iter().map(|i| i.size).sum(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_size` [INFO] [stdout] --> src/core/auto_clean.rs:516:25 [INFO] [stdout] | [INFO] [stdout] 516 | let total_size: u64 = items.iter().map(|i| i.size).sum(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manifest` [INFO] [stdout] --> src/core/cleaner.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let manifest = self [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manifest` [INFO] [stdout] --> src/core/cleaner.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let manifest = self [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `potential_count` [INFO] [stdout] --> src/modules/duplicates.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let potential_count: usize = candidates.iter().map(|(_, v)| v.len()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_potential_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `meta` [INFO] [stdout] --> src/modules/empty_files.rs:89:23 [INFO] [stdout] | [INFO] [stdout] 89 | if let Ok(meta) = path.metadata() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_meta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `os` [INFO] [stdout] --> src/modules/logs.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | fn scan(&self, os: &OSInfo) -> Result> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_os` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `potential_count` [INFO] [stdout] --> src/modules/duplicates.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let potential_count: usize = candidates.iter().map(|(_, v)| v.len()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_potential_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `meta` [INFO] [stdout] --> src/modules/empty_files.rs:89:23 [INFO] [stdout] | [INFO] [stdout] 89 | if let Ok(meta) = path.metadata() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_meta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `os` [INFO] [stdout] --> src/modules/logs.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | fn scan(&self, os: &OSInfo) -> Result> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_os` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:24 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fg` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:32 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_items` [INFO] [stdout] --> src/tui/components/dialogs.rs:683:13 [INFO] [stdout] | [INFO] [stdout] 683 | let total_items = state.items_cleaned.max(1); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:24 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fg` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:32 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `min_size_large` is never read [INFO] [stdout] --> src/modules/disk.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DiskModule { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 15 | min_size_large: u64, [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 `quick_hash_file` is never used [INFO] [stdout] --> src/modules/duplicates.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn quick_hash_file(path: &Path) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_items` [INFO] [stdout] --> src/tui/components/dialogs.rs:683:13 [INFO] [stdout] | [INFO] [stdout] 683 | let total_items = state.items_cleaned.max(1); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `min_size_large` is never read [INFO] [stdout] --> src/modules/disk.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DiskModule { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 15 | min_size_large: u64, [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 `quick_hash_file` is never used [INFO] [stdout] --> src/modules/duplicates.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn quick_hash_file(path: &Path) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_size` [INFO] [stdout] --> src/core/auto_clean.rs:516:25 [INFO] [stdout] | [INFO] [stdout] 516 | let total_size: u64 = items.iter().map(|i| i.size).sum(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manifest` [INFO] [stdout] --> src/core/cleaner.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let manifest = self [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `potential_count` [INFO] [stdout] --> src/modules/duplicates.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let potential_count: usize = candidates.iter().map(|(_, v)| v.len()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_potential_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `meta` [INFO] [stdout] --> src/modules/empty_files.rs:89:23 [INFO] [stdout] | [INFO] [stdout] 89 | if let Ok(meta) = path.metadata() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_meta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `os` [INFO] [stdout] --> src/modules/logs.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | fn scan(&self, os: &OSInfo) -> Result> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_os` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_size` [INFO] [stdout] --> src/core/auto_clean.rs:516:25 [INFO] [stdout] | [INFO] [stdout] 516 | let total_size: u64 = items.iter().map(|i| i.size).sum(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_size` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:24 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fg` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:32 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_items` [INFO] [stdout] --> src/tui/components/dialogs.rs:683:13 [INFO] [stdout] | [INFO] [stdout] 683 | let total_items = state.items_cleaned.max(1); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manifest` [INFO] [stdout] --> src/core/cleaner.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let manifest = self [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manifest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `categories` [INFO] [stdout] --> src/main.rs:624:5 [INFO] [stdout] | [INFO] [stdout] 624 | categories: &str, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_categories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_size` [INFO] [stdout] --> src/main.rs:633:5 [INFO] [stdout] | [INFO] [stdout] 633 | min_size: &Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_size` [INFO] [stdout] --> src/main.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | max_size: &Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `backup` [INFO] [stdout] --> src/main.rs:673:9 [INFO] [stdout] | [INFO] [stdout] 673 | let backup = Backup::new(config.backup.location.clone(), config.backup.enabled); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `report_opt` is never read [INFO] [stdout] --> src/main.rs:691:26 [INFO] [stdout] | [INFO] [stdout] 691 | let mut report_opt = None; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 728 | report_opt = Some(r); [INFO] [stdout] | ---------- `report_opt` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ScanMsg` is more private than the item `App::scan_rx` [INFO] [stdout] --> src/app.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub scan_rx: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `App::scan_rx` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ScanMsg` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/app.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | enum ScanMsg { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/app.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | AllDone(Vec), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ScanMsg` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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] 31 - AllDone(Vec), [INFO] [stdout] 31 + AllDone(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `registry` is never read [INFO] [stdout] --> src/app.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 38 | pub registry: ModuleRegistry, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `start_wizard` is never used [INFO] [stdout] --> src/app.rs:929:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl App { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 929 | fn start_wizard(&mut self, ui: &mut AppUi) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Theme` is never used [INFO] [stdout] --> src/config/schema.rs:139:10 [INFO] [stdout] | [INFO] [stdout] 139 | pub enum Theme { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_str` is never used [INFO] [stdout] --> src/config/schema.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl Theme { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 148 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Pending`, `Running`, `Completed`, `Failed`, and `Skipped` are never constructed [INFO] [stdout] --> src/core/auto_clean.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub enum PhaseStatus { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 158 | Pending, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 159 | Running, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 160 | Completed, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 161 | Failed, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 162 | Skipped, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhaseStatus` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct PhaseHistoryEntry { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 167 | pub phase: AutoCleanPhase, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 168 | pub status: PhaseStatus, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 169 | pub duration: Duration, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 170 | pub items_found: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 171 | pub size_found: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 172 | pub items_cleaned: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub size_cleaned: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 174 | pub errors: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhaseHistoryEntry` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct SystemSnapshot { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 179 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 180 | pub disks: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 181 | pub memory: MemoryMetric, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 182 | pub swap: SwapMetric, [INFO] [stdout] | ^^^^ [INFO] [stdout] 183 | pub packages: PackageMetric, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 184 | pub uptime_secs: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 185 | pub cpu_load: f32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 186 | pub process_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SystemSnapshot` 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 `mount`, `fs_type`, `total`, `used`, `available`, and `usage_pct` are never read [INFO] [stdout] --> src/core/auto_clean.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct DiskMetric { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 191 | pub mount: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 192 | pub fs_type: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 193 | pub total: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 194 | pub used: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 195 | pub available: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 196 | pub usage_pct: f32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiskMetric` 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 `total`, `used`, `free`, `available`, and `cached` are never read [INFO] [stdout] --> src/core/auto_clean.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct MemoryMetric { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 201 | pub total: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 202 | pub used: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 203 | pub free: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 204 | pub available: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 205 | pub cached: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemoryMetric` 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 `total` and `used` are never read [INFO] [stdout] --> src/core/auto_clean.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 209 | pub struct SwapMetric { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 210 | pub total: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 211 | pub used: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SwapMetric` 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 `total` and `managers` are never read [INFO] [stdout] --> src/core/auto_clean.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct PackageMetric { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 216 | pub total: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 217 | pub managers: Vec<(String, usize)>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackageMetric` 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 `file_type_groups`, `age_groups`, `top_10`, and `stats` are never read [INFO] [stdout] --> src/core/auto_clean.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct CategoryFindings { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 229 | pub file_type_groups: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 230 | pub age_groups: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 231 | pub sub_groups: Vec, [INFO] [stdout] 232 | pub top_10: Vec<(usize, CleanItem)>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 233 | pub stats: SizeStatistics, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CategoryFindings` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 237 | pub struct RiskAssessment { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 238 | pub level: RiskLevel, [INFO] [stdout] 239 | pub score: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 240 | pub safe_count: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 241 | pub safe_size: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 242 | pub caution_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 243 | pub caution_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 244 | pub warning_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 245 | pub warning_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 246 | pub dangerous_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 247 | pub dangerous_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 248 | pub reasons: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RiskAssessment` 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: methods `label_tr`, `color_hex`, and `sort_order` are never used [INFO] [stdout] --> src/core/auto_clean.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 259 | impl RiskLevel { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 260 | pub fn label_tr(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn color_hex(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn sort_order(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mime_type`, `extension`, `count`, and `percentage` are never read [INFO] [stdout] --> src/core/auto_clean.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 289 | pub struct FileTypeGroup { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 290 | pub mime_type: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 291 | pub extension: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 292 | pub count: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 293 | pub total_size: u64, [INFO] [stdout] 294 | pub percentage: f32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileTypeGroup` 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 `label`, `min_days`, `max_days`, `count`, and `total_size` are never read [INFO] [stdout] --> src/core/auto_clean.rs:299:9 [INFO] [stdout] | [INFO] [stdout] 298 | pub struct AgeGroup { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 299 | pub label: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 300 | pub min_days: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 301 | pub max_days: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 302 | pub count: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 303 | pub total_size: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AgeGroup` 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 `id` is never read [INFO] [stdout] --> src/core/auto_clean.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 307 | pub struct SubGroup { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 308 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `SubGroup` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 315 | pub struct SizeStatistics { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 316 | pub min: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 317 | pub max: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 318 | pub mean: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 319 | pub median: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 320 | pub std_dev: f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 321 | pub p10: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 322 | pub p25: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 323 | pub p75: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 324 | pub p90: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 325 | pub p95: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 326 | pub p99: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 327 | pub gini_coefficient: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SizeStatistics` 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: variants `ItemScanned`, `ItemCleaned`, `Warning`, `BackupCreated`, and `Cancelled` are never constructed [INFO] [stdout] --> src/core/auto_clean.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 350 | pub enum AutoCleanProgress { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 353 | ItemScanned(String, u64), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 354 | ItemCleaned(String, u64, bool), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | Warning(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 358 | BackupCreated(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 359 | Finished(AutoCleanReport), [INFO] [stdout] 360 | Cancelled, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AutoCleanProgress` 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 `phase_start`, `estimated_remaining`, `system_before`, `system_after`, `suggestions`, and `phase_history` are never read [INFO] [stdout] --> src/core/auto_clean.rs:427:9 [INFO] [stdout] | [INFO] [stdout] 419 | pub struct AutoCleanState { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 427 | pub phase_start: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 428 | pub estimated_remaining: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub system_before: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 441 | pub system_after: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 444 | pub suggestions: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 450 | pub phase_history: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AutoCleanState` 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 `verify_backup` is never used [INFO] [stdout] --> src/core/backup.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Backup { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn verify_backup(&self, backup_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BackupVerification` is never constructed [INFO] [stdout] --> src/core/backup.rs:271:12 [INFO] [stdout] | [INFO] [stdout] 271 | pub struct BackupVerification { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `duration_secs` is never read [INFO] [stdout] --> src/core/benchmark.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct BenchmarkResult { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub duration_secs: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BenchmarkResult` 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 `format_readable` is never used [INFO] [stdout] --> src/core/benchmark.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Benchmark { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn format_readable(&self, result: &BenchmarkResult) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GrowthPrediction` is never constructed [INFO] [stdout] --> src/core/prediction.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GrowthPrediction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SeasonalPattern` is never constructed [INFO] [stdout] --> src/core/prediction.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SeasonalPattern { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PredictionEngine` is never constructed [INFO] [stdout] --> src/core/prediction.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct PredictionEngine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `predict_growth`, `trend_for_category`, and `seasonal_pattern` are never used [INFO] [stdout] --> src/core/prediction.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl PredictionEngine { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn predict_growth(&self, before: &SystemSnapshot, after: &SystemSnapshot) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn trend_for_category(&self, _findings: &[CategoryFindings], _cat_id: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn seasonal_pattern(&self, _findings: &[CategoryFindings]) -> SeasonalPattern { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CleanProfile` is never constructed [INFO] [stdout] --> src/core/profiler.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct CleanProfile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `safe`, `balanced`, and `aggressive` are never used [INFO] [stdout] --> src/core/profiler.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl CleanProfile { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 17 | pub fn safe() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn balanced() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn aggressive() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProfileManager` is never constructed [INFO] [stdout] --> src/core/profiler.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct ProfileManager { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_profile` are never used [INFO] [stdout] --> src/core/profiler.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl ProfileManager { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 71 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_profile(&self, name: &str) -> CleanProfile { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ReportFormat` is never used [INFO] [stdout] --> src/core/report.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ReportFormat { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_report` is never used [INFO] [stdout] --> src/core/report.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn save_report(report: &AutoCleanReport, path: &str, format: ReportFormat) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_installed` is never used [INFO] [stdout] --> src/core/scheduler.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Scheduler { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn is_installed(&self, command: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `icon` is never used [INFO] [stdout] --> src/core/scanner.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 96 | impl Category { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn icon(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/core/scanner.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | pub struct Scanner; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `scan_path`, and `scan_with_pattern` are never used [INFO] [stdout] --> src/core/scanner.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 191 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 192 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn scan_path( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn scan_with_pattern(&self, _path: &str, _pattern: &str, _id_prefix: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `id`, `name`, and `description` are never used [INFO] [stdout] --> src/modules/mod.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait CleanModule: Send + Sync { [INFO] [stdout] | ----------- methods in this trait [INFO] [stdout] 33 | fn id(&self) -> &'static str; [INFO] [stdout] | ^^ [INFO] [stdout] 34 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | fn category(&self) -> Category; [INFO] [stdout] 36 | fn description(&self) -> &'static str; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `module_count`, `scan_all`, and `scan_all_parallel` are never used [INFO] [stdout] --> src/modules/mod.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ModuleRegistry { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 46 | pub fn module_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn scan_all(&self, os: &OSInfo) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn scan_all_parallel(&self, os: &OSInfo) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `min_size_large` is never read [INFO] [stdout] --> src/modules/disk.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DiskModule { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 15 | min_size_large: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quick_hash_file` is never used [INFO] [stdout] --> src/modules/duplicates.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn quick_hash_file(path: &Path) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_debian_based`, `is_arch_based`, `is_fedora_based`, `is_suse_based`, `is_alpine`, and `package_manager` are never used [INFO] [stdout] --> src/os/distro.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl OSInfo { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn is_debian_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_arch_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_fedora_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn is_suse_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn is_alpine(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn package_manager(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InitSystem` is never used [INFO] [stdout] --> src/os/init.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum InitSystem { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_init` is never used [INFO] [stdout] --> src/os/init.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn detect_init() -> InitSystem { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clean_unused_snapshots` is never used [INFO] [stdout] --> src/os/pkg_managers/pacman.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn clean_unused_snapshots() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_bar_chart` is never used [INFO] [stdout] --> src/tui/components/charts.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn render_bar_chart( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_pie_chart` is never used [INFO] [stdout] --> src/tui/components/charts.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn render_pie_chart( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_size` is never used [INFO] [stdout] --> src/tui/components/charts.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn format_size(bytes: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `details_focus` is never read [INFO] [stdout] --> src/tui/components/content.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ContentPanel { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 9 | pub list_state: ListState, [INFO] [stdout] 10 | pub details_focus: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tui/components/content.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ContentPanel { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn toggle_focus(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn toggle_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn prev_view(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn go_home(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn go_end(&mut self, len: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn page_up(&mut self, _len: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn page_down(&mut self, len: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Categories`, `Preview`, `Confirm`, `Cleaning`, and `Done` are never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum WizardStep { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Overview, [INFO] [stdout] 11 | Categories, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | Preview, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | Confirm, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 14 | Cleaning, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | Done, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WizardStep` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AutoCleanToggleCategory` is never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum DialogAction { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 53 | AutoCleanToggleCategory(usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DialogAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DiskWizard` is never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 57 | pub enum Dialog { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 63 | DiskWizard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dialog` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Detail` and `RiskReview` are never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:783:5 [INFO] [stdout] | [INFO] [stdout] 779 | pub enum AutoCleanStep { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 783 | Detail, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 784 | RiskReview, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AutoCleanStep` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `show_wizard` is never read [INFO] [stdout] --> src/tui/components/sidebar.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Sidebar { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub show_wizard: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `select` is never used [INFO] [stdout] --> src/tui/components/sidebar.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl Sidebar { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn select(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_label` is never used [INFO] [stdout] --> src/tui/components/widgets.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl ProgressWidget { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn with_label(mut self, label: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TableWidget` is never constructed [INFO] [stdout] --> src/tui/components/widgets.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct TableWidget { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_row`, `render_header`, and `render_row` are never used [INFO] [stdout] --> src/tui/components/widgets.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl TableWidget { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 58 | pub fn new(headers: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn add_row(&mut self, row: Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn render_header(&self, buf: &mut Buffer, x: u16, y: u16, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn render_row(&self, buf: &mut Buffer, x: u16, y: u16, index: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ContextMenuOption` is never constructed [INFO] [stdout] --> src/tui/ui.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum ClickTarget { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | ContextMenuOption(usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClickTarget` 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 `context_menu` is never read [INFO] [stdout] --> src/tui/ui.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct AppUi { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 53 | pub context_menu: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `header`, `text`, `danger`, `success`, `selected`, and `selected_bg` are never read [INFO] [stdout] --> src/tui/ui.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 275 | pub struct ThemeColors { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 278 | pub header: Color, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 279 | pub text: Color, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub danger: Color, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 284 | pub success: Color, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 285 | pub selected: Color, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 286 | pub selected_bg: Color, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `older_than` is never used [INFO] [stdout] --> src/utils/disk.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn older_than(days: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Permission`, `Module`, and `Clean` are never constructed [INFO] [stdout] --> src/utils/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | Permission(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | Module(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | Clean(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_critical` is never used [INFO] [stdout] --> src/utils/error.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl AppError { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn is_critical(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_count` is never used [INFO] [stdout] --> src/utils/formatting.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn format_count(count: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_duration` is never used [INFO] [stdout] --> src/utils/formatting.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn format_duration(secs: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_root` is never used [INFO] [stdout] --> src/utils/permissions.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn is_root() -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_sudo` is never used [INFO] [stdout] --> src/utils/permissions.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn has_sudo() -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_elevated` is never used [INFO] [stdout] --> src/utils/permissions.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn check_elevated() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mean` is never used [INFO] [stdout] --> src/utils/stats.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn mean(values: &[f64]) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `median` is never used [INFO] [stdout] --> src/utils/stats.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn median(values: &mut [f64]) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `std_dev` is never used [INFO] [stdout] --> src/utils/stats.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn std_dev(values: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `percentile` is never used [INFO] [stdout] --> src/utils/stats.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn percentile(values: &[f64], pct: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_system_info` is never used [INFO] [stdout] --> src/utils/system.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn collect_system_info() -> (u64, u64, f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_disk_info` is never used [INFO] [stdout] --> src/utils/system.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn collect_disk_info() -> Vec<(String, u64, u64, u64, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_package_count` is never used [INFO] [stdout] --> src/utils/system.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn collect_package_count() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `potential_count` [INFO] [stdout] --> src/modules/duplicates.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let potential_count: usize = candidates.iter().map(|(_, v)| v.len()).sum(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_potential_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `meta` [INFO] [stdout] --> src/modules/empty_files.rs:89:23 [INFO] [stdout] | [INFO] [stdout] 89 | if let Ok(meta) = path.metadata() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_meta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `os` [INFO] [stdout] --> src/modules/logs.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | fn scan(&self, os: &OSInfo) -> Result> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_os` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:24 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fg` [INFO] [stdout] --> src/tui/components/dialogs.rs:540:32 [INFO] [stdout] | [INFO] [stdout] 540 | let (icon, status, fg) = if completed { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_items` [INFO] [stdout] --> src/tui/components/dialogs.rs:683:13 [INFO] [stdout] | [INFO] [stdout] 683 | let total_items = state.items_cleaned.max(1); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `categories` [INFO] [stdout] --> src/main.rs:624:5 [INFO] [stdout] | [INFO] [stdout] 624 | categories: &str, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_categories` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_size` [INFO] [stdout] --> src/main.rs:633:5 [INFO] [stdout] | [INFO] [stdout] 633 | min_size: &Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_size` [INFO] [stdout] --> src/main.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | max_size: &Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `backup` [INFO] [stdout] --> src/main.rs:673:9 [INFO] [stdout] | [INFO] [stdout] 673 | let backup = Backup::new(config.backup.location.clone(), config.backup.enabled); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `report_opt` is never read [INFO] [stdout] --> src/main.rs:691:26 [INFO] [stdout] | [INFO] [stdout] 691 | let mut report_opt = None; [INFO] [stdout] | ^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 728 | report_opt = Some(r); [INFO] [stdout] | ---------- `report_opt` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ScanMsg` is more private than the item `App::scan_rx` [INFO] [stdout] --> src/app.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub scan_rx: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `App::scan_rx` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ScanMsg` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/app.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | enum ScanMsg { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/app.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | AllDone(Vec), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ScanMsg` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [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] 31 - AllDone(Vec), [INFO] [stdout] 31 + AllDone(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `registry` is never read [INFO] [stdout] --> src/app.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 38 | pub registry: ModuleRegistry, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `start_wizard` is never used [INFO] [stdout] --> src/app.rs:929:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl App { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 929 | fn start_wizard(&mut self, ui: &mut AppUi) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Theme` is never used [INFO] [stdout] --> src/config/schema.rs:139:10 [INFO] [stdout] | [INFO] [stdout] 139 | pub enum Theme { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_str` is never used [INFO] [stdout] --> src/config/schema.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl Theme { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 148 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Pending`, `Running`, `Completed`, `Failed`, and `Skipped` are never constructed [INFO] [stdout] --> src/core/auto_clean.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub enum PhaseStatus { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 158 | Pending, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 159 | Running, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 160 | Completed, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 161 | Failed, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 162 | Skipped, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhaseStatus` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 166 | pub struct PhaseHistoryEntry { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 167 | pub phase: AutoCleanPhase, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 168 | pub status: PhaseStatus, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 169 | pub duration: Duration, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 170 | pub items_found: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 171 | pub size_found: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 172 | pub items_cleaned: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub size_cleaned: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 174 | pub errors: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PhaseHistoryEntry` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub struct SystemSnapshot { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 179 | pub timestamp: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 180 | pub disks: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 181 | pub memory: MemoryMetric, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 182 | pub swap: SwapMetric, [INFO] [stdout] | ^^^^ [INFO] [stdout] 183 | pub packages: PackageMetric, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 184 | pub uptime_secs: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 185 | pub cpu_load: f32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 186 | pub process_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SystemSnapshot` 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 `mount`, `fs_type`, `total`, `used`, `available`, and `usage_pct` are never read [INFO] [stdout] --> src/core/auto_clean.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 190 | pub struct DiskMetric { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 191 | pub mount: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 192 | pub fs_type: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 193 | pub total: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 194 | pub used: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 195 | pub available: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 196 | pub usage_pct: f32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiskMetric` 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 `total`, `used`, `free`, `available`, and `cached` are never read [INFO] [stdout] --> src/core/auto_clean.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct MemoryMetric { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 201 | pub total: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 202 | pub used: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 203 | pub free: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 204 | pub available: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 205 | pub cached: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemoryMetric` 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 `total` and `used` are never read [INFO] [stdout] --> src/core/auto_clean.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 209 | pub struct SwapMetric { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 210 | pub total: u64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 211 | pub used: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SwapMetric` 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 `total` and `managers` are never read [INFO] [stdout] --> src/core/auto_clean.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct PackageMetric { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 216 | pub total: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 217 | pub managers: Vec<(String, usize)>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackageMetric` 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 `file_type_groups`, `age_groups`, `top_10`, and `stats` are never read [INFO] [stdout] --> src/core/auto_clean.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 221 | pub struct CategoryFindings { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 229 | pub file_type_groups: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 230 | pub age_groups: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 231 | pub sub_groups: Vec, [INFO] [stdout] 232 | pub top_10: Vec<(usize, CleanItem)>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 233 | pub stats: SizeStatistics, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CategoryFindings` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 237 | pub struct RiskAssessment { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 238 | pub level: RiskLevel, [INFO] [stdout] 239 | pub score: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 240 | pub safe_count: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 241 | pub safe_size: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 242 | pub caution_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 243 | pub caution_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 244 | pub warning_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 245 | pub warning_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 246 | pub dangerous_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 247 | pub dangerous_size: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 248 | pub reasons: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RiskAssessment` 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: methods `label_tr`, `color_hex`, and `sort_order` are never used [INFO] [stdout] --> src/core/auto_clean.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 259 | impl RiskLevel { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 260 | pub fn label_tr(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn color_hex(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn sort_order(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mime_type`, `extension`, `count`, and `percentage` are never read [INFO] [stdout] --> src/core/auto_clean.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 289 | pub struct FileTypeGroup { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 290 | pub mime_type: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 291 | pub extension: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 292 | pub count: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 293 | pub total_size: u64, [INFO] [stdout] 294 | pub percentage: f32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FileTypeGroup` 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 `label`, `min_days`, `max_days`, `count`, and `total_size` are never read [INFO] [stdout] --> src/core/auto_clean.rs:299:9 [INFO] [stdout] | [INFO] [stdout] 298 | pub struct AgeGroup { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 299 | pub label: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 300 | pub min_days: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 301 | pub max_days: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 302 | pub count: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 303 | pub total_size: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AgeGroup` 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 `id` is never read [INFO] [stdout] --> src/core/auto_clean.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 307 | pub struct SubGroup { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 308 | pub id: String, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `SubGroup` 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: multiple fields are never read [INFO] [stdout] --> src/core/auto_clean.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 315 | pub struct SizeStatistics { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 316 | pub min: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 317 | pub max: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 318 | pub mean: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 319 | pub median: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 320 | pub std_dev: f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 321 | pub p10: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 322 | pub p25: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 323 | pub p75: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 324 | pub p90: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 325 | pub p95: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 326 | pub p99: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 327 | pub gini_coefficient: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SizeStatistics` 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: variants `ItemScanned`, `ItemCleaned`, `Warning`, `BackupCreated`, and `Cancelled` are never constructed [INFO] [stdout] --> src/core/auto_clean.rs:353:5 [INFO] [stdout] | [INFO] [stdout] 350 | pub enum AutoCleanProgress { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 353 | ItemScanned(String, u64), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 354 | ItemCleaned(String, u64, bool), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 357 | Warning(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 358 | BackupCreated(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 359 | Finished(AutoCleanReport), [INFO] [stdout] 360 | Cancelled, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AutoCleanProgress` 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 `phase_start`, `estimated_remaining`, `system_before`, `system_after`, `suggestions`, and `phase_history` are never read [INFO] [stdout] --> src/core/auto_clean.rs:427:9 [INFO] [stdout] | [INFO] [stdout] 419 | pub struct AutoCleanState { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 427 | pub phase_start: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 428 | pub estimated_remaining: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub system_before: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 441 | pub system_after: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 444 | pub suggestions: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 450 | pub phase_history: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AutoCleanState` 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 `verify_backup` is never used [INFO] [stdout] --> src/core/backup.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Backup { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn verify_backup(&self, backup_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BackupVerification` is never constructed [INFO] [stdout] --> src/core/backup.rs:271:12 [INFO] [stdout] | [INFO] [stdout] 271 | pub struct BackupVerification { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `duration_secs` is never read [INFO] [stdout] --> src/core/benchmark.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct BenchmarkResult { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub duration_secs: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BenchmarkResult` 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 `format_readable` is never used [INFO] [stdout] --> src/core/benchmark.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Benchmark { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn format_readable(&self, result: &BenchmarkResult) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GrowthPrediction` is never constructed [INFO] [stdout] --> src/core/prediction.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct GrowthPrediction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SeasonalPattern` is never constructed [INFO] [stdout] --> src/core/prediction.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SeasonalPattern { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PredictionEngine` is never constructed [INFO] [stdout] --> src/core/prediction.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct PredictionEngine { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `predict_growth`, `trend_for_category`, and `seasonal_pattern` are never used [INFO] [stdout] --> src/core/prediction.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl PredictionEngine { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn predict_growth(&self, before: &SystemSnapshot, after: &SystemSnapshot) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn trend_for_category(&self, _findings: &[CategoryFindings], _cat_id: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn seasonal_pattern(&self, _findings: &[CategoryFindings]) -> SeasonalPattern { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CleanProfile` is never constructed [INFO] [stdout] --> src/core/profiler.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct CleanProfile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `safe`, `balanced`, and `aggressive` are never used [INFO] [stdout] --> src/core/profiler.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl CleanProfile { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 17 | pub fn safe() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn balanced() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn aggressive() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProfileManager` is never constructed [INFO] [stdout] --> src/core/profiler.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct ProfileManager { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_profile` are never used [INFO] [stdout] --> src/core/profiler.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl ProfileManager { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 71 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_profile(&self, name: &str) -> CleanProfile { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ReportFormat` is never used [INFO] [stdout] --> src/core/report.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ReportFormat { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_report` is never used [INFO] [stdout] --> src/core/report.rs:99:8 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn save_report(report: &AutoCleanReport, path: &str, format: ReportFormat) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_installed` is never used [INFO] [stdout] --> src/core/scheduler.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Scheduler { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn is_installed(&self, command: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `icon` is never used [INFO] [stdout] --> src/core/scanner.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 96 | impl Category { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn icon(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scanner` is never constructed [INFO] [stdout] --> src/core/scanner.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 189 | pub struct Scanner; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `scan_path`, and `scan_with_pattern` are never used [INFO] [stdout] --> src/core/scanner.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 191 | impl Scanner { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 192 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn scan_path( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | fn scan_with_pattern(&self, _path: &str, _pattern: &str, _id_prefix: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `id`, `name`, and `description` are never used [INFO] [stdout] --> src/modules/mod.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait CleanModule: Send + Sync { [INFO] [stdout] | ----------- methods in this trait [INFO] [stdout] 33 | fn id(&self) -> &'static str; [INFO] [stdout] | ^^ [INFO] [stdout] 34 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | fn category(&self) -> Category; [INFO] [stdout] 36 | fn description(&self) -> &'static str; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `module_count`, `scan_all`, and `scan_all_parallel` are never used [INFO] [stdout] --> src/modules/mod.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ModuleRegistry { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 46 | pub fn module_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn scan_all(&self, os: &OSInfo) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn scan_all_parallel(&self, os: &OSInfo) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `min_size_large` is never read [INFO] [stdout] --> src/modules/disk.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DiskModule { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 15 | min_size_large: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quick_hash_file` is never used [INFO] [stdout] --> src/modules/duplicates.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn quick_hash_file(path: &Path) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_debian_based`, `is_arch_based`, `is_fedora_based`, `is_suse_based`, `is_alpine`, and `package_manager` are never used [INFO] [stdout] --> src/os/distro.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl OSInfo { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn is_debian_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn is_arch_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_fedora_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn is_suse_based(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn is_alpine(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn package_manager(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InitSystem` is never used [INFO] [stdout] --> src/os/init.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum InitSystem { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_init` is never used [INFO] [stdout] --> src/os/init.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn detect_init() -> InitSystem { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clean_unused_snapshots` is never used [INFO] [stdout] --> src/os/pkg_managers/pacman.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn clean_unused_snapshots() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_bar_chart` is never used [INFO] [stdout] --> src/tui/components/charts.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn render_bar_chart( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_pie_chart` is never used [INFO] [stdout] --> src/tui/components/charts.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn render_pie_chart( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_size` is never used [INFO] [stdout] --> src/tui/components/charts.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn format_size(bytes: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `details_focus` is never read [INFO] [stdout] --> src/tui/components/content.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ContentPanel { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 9 | pub list_state: ListState, [INFO] [stdout] 10 | pub details_focus: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tui/components/content.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ContentPanel { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn toggle_focus(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn toggle_preset(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn prev_view(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn go_home(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn go_end(&mut self, len: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn page_up(&mut self, _len: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn page_down(&mut self, len: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Categories`, `Preview`, `Confirm`, `Cleaning`, and `Done` are never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum WizardStep { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 10 | Overview, [INFO] [stdout] 11 | Categories, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | Preview, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | Confirm, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 14 | Cleaning, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | Done, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WizardStep` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AutoCleanToggleCategory` is never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum DialogAction { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 53 | AutoCleanToggleCategory(usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DialogAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DiskWizard` is never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 57 | pub enum Dialog { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 63 | DiskWizard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dialog` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Detail` and `RiskReview` are never constructed [INFO] [stdout] --> src/tui/components/dialogs.rs:783:5 [INFO] [stdout] | [INFO] [stdout] 779 | pub enum AutoCleanStep { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 783 | Detail, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 784 | RiskReview, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AutoCleanStep` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `show_wizard` is never read [INFO] [stdout] --> src/tui/components/sidebar.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Sidebar { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub show_wizard: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `select` is never used [INFO] [stdout] --> src/tui/components/sidebar.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl Sidebar { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn select(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_label` is never used [INFO] [stdout] --> src/tui/components/widgets.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl ProgressWidget { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn with_label(mut self, label: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TableWidget` is never constructed [INFO] [stdout] --> src/tui/components/widgets.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct TableWidget { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_row`, `render_header`, and `render_row` are never used [INFO] [stdout] --> src/tui/components/widgets.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 57 | impl TableWidget { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 58 | pub fn new(headers: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn add_row(&mut self, row: Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn render_header(&self, buf: &mut Buffer, x: u16, y: u16, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn render_row(&self, buf: &mut Buffer, x: u16, y: u16, index: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ContextMenuOption` is never constructed [INFO] [stdout] --> src/tui/ui.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum ClickTarget { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | ContextMenuOption(usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClickTarget` 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 `context_menu` is never read [INFO] [stdout] --> src/tui/ui.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct AppUi { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 53 | pub context_menu: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `header`, `text`, `danger`, `success`, `selected`, and `selected_bg` are never read [INFO] [stdout] --> src/tui/ui.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 275 | pub struct ThemeColors { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 278 | pub header: Color, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 279 | pub text: Color, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub danger: Color, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 284 | pub success: Color, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 285 | pub selected: Color, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 286 | pub selected_bg: Color, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `older_than` is never used [INFO] [stdout] --> src/utils/disk.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn older_than(days: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Permission`, `Module`, and `Clean` are never constructed [INFO] [stdout] --> src/utils/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | Permission(String), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | Module(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | Clean(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_critical` is never used [INFO] [stdout] --> src/utils/error.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl AppError { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn is_critical(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_count` is never used [INFO] [stdout] --> src/utils/formatting.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn format_count(count: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_duration` is never used [INFO] [stdout] --> src/utils/formatting.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn format_duration(secs: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_root` is never used [INFO] [stdout] --> src/utils/permissions.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn is_root() -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_sudo` is never used [INFO] [stdout] --> src/utils/permissions.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn has_sudo() -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_elevated` is never used [INFO] [stdout] --> src/utils/permissions.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn check_elevated() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mean` is never used [INFO] [stdout] --> src/utils/stats.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn mean(values: &[f64]) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `median` is never used [INFO] [stdout] --> src/utils/stats.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn median(values: &mut [f64]) -> f64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `std_dev` is never used [INFO] [stdout] --> src/utils/stats.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn std_dev(values: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `percentile` is never used [INFO] [stdout] --> src/utils/stats.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn percentile(values: &[f64], pct: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_system_info` is never used [INFO] [stdout] --> src/utils/system.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn collect_system_info() -> (u64, u64, f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_disk_info` is never used [INFO] [stdout] --> src/utils/system.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn collect_disk_info() -> Vec<(String, u64, u64, u64, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_package_count` is never used [INFO] [stdout] --> src/utils/system.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn collect_package_count() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unused dependency `anyhow` [INFO] [stderr] --> Cargo.toml:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | anyhow = "1" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `anyhow` [INFO] [stderr] warning: unused dependency `flate2` [INFO] [stderr] --> Cargo.toml:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | flate2 = "1" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider removing the dependency on `flate2` [INFO] [stderr] warning: unused dependency `tar` [INFO] [stderr] --> Cargo.toml:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | tar = "0.4" [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: consider removing the dependency on `tar` [INFO] [stderr] warning: `windebloat` (manifest) generated 3 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.26s [INFO] running `Command { std: "docker" "inspect" "f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595", kill_on_drop: false }` [INFO] [stdout] f3b040f2fe585373fb06d283c55cdf8bae31a8f9998e504108d0879207c68595