[INFO] cloning repository https://github.com/HK01569/hyperfan
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HK01569/hyperfan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHK01569%2Fhyperfan", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHK01569%2Fhyperfan'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0cbeaede4d8b570711a0c3d163021c2ecf4a6764
[INFO] checking HK01569/hyperfan against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHK01569%2Fhyperfan" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/HK01569/hyperfan
[INFO] finished tweaking git repo https://github.com/HK01569/hyperfan
[INFO] tweaked toml for git repo https://github.com/HK01569/hyperfan written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/HK01569/hyperfan on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 221 packages to highest compatible versions
[INFO] [stderr]       Adding dirs v5.0.1 (available: v7.0.0)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding gtk4 v0.9.7 (available: v0.11.5)
[INFO] [stderr]       Adding hmac v0.12.1 (available: v0.13.0)
[INFO] [stderr]       Adding ksni v0.2.2 (available: v0.3.6)
[INFO] [stderr]       Adding libadwaita v0.7.2 (available: v0.9.2)
[INFO] [stderr]       Adding sha2 v0.10.9 (available: v0.11.0)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.21)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_parser v1.1.5+spec-1.1.0
[INFO] [stderr]   Downloaded toml_edit v0.25.17+spec-1.1.0
[INFO] [stderr]   Downloaded rand_xorshift v0.5.0
[INFO] [stderr]   Downloaded bit-vec v0.10.1
[INFO] [stderr]   Downloaded bit-set v0.11.1
[INFO] [stderr]   Downloaded toml v1.1.8+spec-1.1.0
[INFO] [stderr]   Downloaded cfg-expr v0.20.10
[INFO] [stderr]   Downloaded uuid v1.28.0
[INFO] [stderr]   Downloaded proptest v1.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b
[INFO] running `Command { std: "docker" "start" "f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b", 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" "f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b", 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 -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling toml_datetime v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.2
[INFO] [stderr]    Compiling smallvec v1.16.3
[INFO] [stderr]    Compiling toml_parser v1.1.5+spec-1.1.0
[INFO] [stderr]    Compiling syn v3.0.7
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]     Checking serde_json v1.0.152
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling cfg-expr v0.20.10
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling gio v0.20.12
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling toml v1.1.8+spec-1.1.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]    Compiling toml_edit v0.25.17+spec-1.1.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling system-deps v7.0.8
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]     Checking lazy_static v1.5.1
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling dbus v0.9.12
[INFO] [stderr]    Compiling glib-sys v0.20.10
[INFO] [stderr]    Compiling gobject-sys v0.20.10
[INFO] [stderr]    Compiling gio-sys v0.20.10
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.10
[INFO] [stderr]    Compiling pango-sys v0.20.10
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.20.10
[INFO] [stderr]    Compiling graphene-sys v0.20.10
[INFO] [stderr]    Compiling gdk4-sys v0.9.6
[INFO] [stderr]    Compiling gsk4-sys v0.9.6
[INFO] [stderr]    Compiling gtk4-sys v0.9.6
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking uuid v1.28.0
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]    Compiling libadwaita-sys v0.7.2
[INFO] [stderr]     Checking mio v1.2.4
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking field-offset v0.3.6
[INFO] [stderr]     Checking is-docker v0.2.0
[INFO] [stderr]     Checking is-wsl v0.4.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking bit-vec v0.10.1
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]    Compiling dbus-codegen v0.9.1
[INFO] [stderr]     Checking bit-set v0.11.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]     Checking tokio v1.53.2
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]    Compiling ksni v0.2.2
[INFO] [stderr]     Checking open v5.4.4
[INFO] [stderr]     Checking rand v0.10.3
[INFO] [stderr]     Checking rand_xorshift v0.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling glib-macros v0.20.12
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling gtk4-macros v0.9.5
[INFO] [stderr]     Checking dbus-tree v0.9.2
[INFO] [stderr]     Checking clap v4.6.7
[INFO] [stderr]     Checking proptest v1.12.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking hf-error v0.1.15 (/opt/rustwide/workdir/hf-error)
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking hf-protocol v0.1.6 (/opt/rustwide/workdir/hf-protocol)
[INFO] [stderr]     Checking hf-gpu v0.1.3 (/opt/rustwide/workdir/hf-gpu)
[INFO] [stderr]     Checking glib v0.20.12
[INFO] [stderr]     Checking tracing-journald v0.3.2
[INFO] [stderr]     Checking hf-core v0.4.98 (/opt/rustwide/workdir/hf-core)
[INFO] [stderr]     Checking hf-daemon v0.2.98 (/opt/rustwide/workdir/hf-daemon)
[INFO] [stderr]     Checking cairo-rs v0.20.12
[INFO] [stderr]     Checking graphene-rs v0.20.10
[INFO] [stderr]     Checking pango v0.20.12
[INFO] [stderr]     Checking gdk-pixbuf v0.20.10
[INFO] [stderr]     Checking gdk4 v0.9.6
[INFO] [stderr]     Checking gsk4 v0.9.6
[INFO] [stderr]     Checking gtk4 v0.9.7
[INFO] [stderr]     Checking libadwaita v0.7.2
[INFO] [stderr]     Checking hf-gtk v0.4.96 (/opt/rustwide/workdir/hf-gtk)
[INFO] [stdout] warning: type `add_pair_dialog::TempSourceItem` is more private than the item `loaders::<impl add_pair_dialog::AddPairDialog>::load_temp_sources`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/loaders.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 |     pub(crate) fn load_temp_sources() -> Vec<TempSourceItem> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `loaders::<impl add_pair_dialog::AddPairDialog>::load_temp_sources` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `add_pair_dialog::TempSourceItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct TempSourceItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::FanItem` is more private than the item `loaders::<impl add_pair_dialog::AddPairDialog>::load_fans`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/loaders.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub(crate) fn load_fans(existing_pairs: &[PairData]) -> Vec<FanItem> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `loaders::<impl add_pair_dialog::AddPairDialog>::load_fans` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `add_pair_dialog::FanItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | struct FanItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::FanItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn create_fan_row_with_checkbox(
[INFO] [stdout]  7 | |         fan: &FanItem,
[INFO] [stdout]  8 | |         selected_fans: Rc<RefCell<Vec<FanItem>>>,
[INFO] [stdout]  9 | |         create_btn: gtk4::Button,
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |         edit_pair: Option<&PairData>,
[INFO] [stdout] 13 | |     ) -> ListBoxRow {
[INFO] [stdout]    | |___________________^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `add_pair_dialog::FanItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct FanItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::TempSourceItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn create_fan_row_with_checkbox(
[INFO] [stdout]  7 | |         fan: &FanItem,
[INFO] [stdout]  8 | |         selected_fans: Rc<RefCell<Vec<FanItem>>>,
[INFO] [stdout]  9 | |         create_btn: gtk4::Button,
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |         edit_pair: Option<&PairData>,
[INFO] [stdout] 13 | |     ) -> ListBoxRow {
[INFO] [stdout]    | |___________________^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `add_pair_dialog::TempSourceItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct TempSourceItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::TempSourceItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_temp_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub(crate) fn create_temp_row(source: &TempSourceItem) -> ListBoxRow {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_temp_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `add_pair_dialog::TempSourceItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | struct TempSourceItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::FanItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub(crate) fn create_fan_row(fan: &FanItem) -> ListBoxRow {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `add_pair_dialog::FanItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | struct FanItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_color_picker`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 | /     pub(crate) fn show_color_picker(
[INFO] [stdout]   7 | |         btn: &Button,
[INFO] [stdout]   8 | |         register: u8,
[INFO] [stdout]   9 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout]  10 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_color_picker` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout]  61 | /     pub(crate) fn show_edit_dialog(
[INFO] [stdout]  62 | |         btn: &Button,
[INFO] [stdout]  63 | |         reg: &EcRegisterData,
[INFO] [stdout]  64 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout]  65 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout]  61 | /     pub(crate) fn show_edit_dialog(
[INFO] [stdout]  62 | |         btn: &Button,
[INFO] [stdout]  63 | |         reg: &EcRegisterData,
[INFO] [stdout]  64 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout]  65 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub(crate) fn show_export_dialog(
[INFO] [stdout] 253 | |         btn: &Button,
[INFO] [stdout] 254 | |         chip: &EcChipMetadata,
[INFO] [stdout] 255 | |         registers: &[EcRegisterData],
[INFO] [stdout] 256 | |         profile_data: &EcProfileData,
[INFO] [stdout] 257 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub(crate) fn show_export_dialog(
[INFO] [stdout] 253 | |         btn: &Button,
[INFO] [stdout] 254 | |         chip: &EcChipMetadata,
[INFO] [stdout] 255 | |         registers: &[EcRegisterData],
[INFO] [stdout] 256 | |         profile_data: &EcProfileData,
[INFO] [stdout] 257 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub(crate) fn show_export_dialog(
[INFO] [stdout] 253 | |         btn: &Button,
[INFO] [stdout] 254 | |         chip: &EcChipMetadata,
[INFO] [stdout] 255 | |         registers: &[EcRegisterData],
[INFO] [stdout] 256 | |         profile_data: &EcProfileData,
[INFO] [stdout] 257 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `registers::<impl EcControlPage>::refresh_ec_chips`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 |     pub(crate) fn refresh_ec_chips(chips: &Rc<RefCell<Vec<EcChipMetadata>>>, dropdown: &adw::ComboRow) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `registers::<impl EcControlPage>::refresh_ec_chips` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `registers::<impl EcControlPage>::chip_metadata_from_ec_info`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:51:5
[INFO] [stdout]     |
[INFO] [stdout]  51 | /     pub(crate) fn chip_metadata_from_ec_info(
[INFO] [stdout]  52 | |         info: &hf_core::DaemonEcChipInfo,
[INFO] [stdout]  53 | |         hw: Option<&hf_core::daemon_client::DaemonHwmonChip>,
[INFO] [stdout]  54 | |     ) -> EcChipMetadata {
[INFO] [stdout]     | |_______________________^ associated function `registers::<impl EcControlPage>::chip_metadata_from_ec_info` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `registers::<impl EcControlPage>::read_live_registers`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     pub(crate) fn read_live_registers(
[INFO] [stdout] 132 | |         chip: &EcChipMetadata,
[INFO] [stdout] 133 | |         registers: &Rc<RefCell<Vec<EcRegisterData>>>,
[INFO] [stdout] 134 | |     ) -> Result<usize, String> {
[INFO] [stdout]     | |______________________________^ associated function `registers::<impl EcControlPage>::read_live_registers` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `registers::<impl EcControlPage>::read_live_registers`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     pub(crate) fn read_live_registers(
[INFO] [stdout] 132 | |         chip: &EcChipMetadata,
[INFO] [stdout] 133 | |         registers: &Rc<RefCell<Vec<EcRegisterData>>>,
[INFO] [stdout] 134 | |     ) -> Result<usize, String> {
[INFO] [stdout]     | |______________________________^ associated function `registers::<impl EcControlPage>::read_live_registers` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `registers::<impl EcControlPage>::render_register_list`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) fn render_register_list(
[INFO] [stdout] 214 | |         list: &ListBox,
[INFO] [stdout] 215 | |         registers: &[EcRegisterData],
[INFO] [stdout] 216 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 217 | |         sort_mode: SortMode,
[INFO] [stdout] 218 | |         color_filter: Option<u8>,
[INFO] [stdout] 219 | |     ) {
[INFO] [stdout]     | |_____^ associated function `registers::<impl EcControlPage>::render_register_list` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `registers::<impl EcControlPage>::render_register_list`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) fn render_register_list(
[INFO] [stdout] 214 | |         list: &ListBox,
[INFO] [stdout] 215 | |         registers: &[EcRegisterData],
[INFO] [stdout] 216 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 217 | |         sort_mode: SortMode,
[INFO] [stdout] 218 | |         color_filter: Option<u8>,
[INFO] [stdout] 219 | |     ) {
[INFO] [stdout]     | |_____^ associated function `registers::<impl EcControlPage>::render_register_list` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::SortMode` is more private than the item `registers::<impl EcControlPage>::render_register_list`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) fn render_register_list(
[INFO] [stdout] 214 | |         list: &ListBox,
[INFO] [stdout] 215 | |         registers: &[EcRegisterData],
[INFO] [stdout] 216 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 217 | |         sort_mode: SortMode,
[INFO] [stdout] 218 | |         color_filter: Option<u8>,
[INFO] [stdout] 219 | |     ) {
[INFO] [stdout]     | |_____^ associated function `registers::<impl EcControlPage>::render_register_list` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::SortMode` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout]  99 | enum SortMode {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `registers::<impl EcControlPage>::create_register_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 | /     pub(crate) fn create_register_row(
[INFO] [stdout] 287 | |         reg: &EcRegisterData,
[INFO] [stdout] 288 | |         profile_data: Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 289 | |     ) -> adw::ActionRow {
[INFO] [stdout]     | |_______________________^ associated function `registers::<impl EcControlPage>::create_register_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `registers::<impl EcControlPage>::create_register_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 | /     pub(crate) fn create_register_row(
[INFO] [stdout] 287 | |         reg: &EcRegisterData,
[INFO] [stdout] 288 | |         profile_data: Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 289 | |     ) -> adw::ActionRow {
[INFO] [stdout]     | |_______________________^ associated function `registers::<impl EcControlPage>::create_register_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `fan_pairing_page::FanPairingState` is more private than the item `autodetect_dialog::<impl fan_pairing_page::FanPairingPage>::show_autodetect_dialog`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/autodetect_dialog.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn show_autodetect_dialog(
[INFO] [stdout]  7 | |         window: Option<&gtk4::Window>,
[INFO] [stdout]  8 | |         state: &Rc<RefCell<FanPairingState>>,
[INFO] [stdout]  9 | |         pwm_list: &ListBox,
[INFO] [stdout] 10 | |     ) {
[INFO] [stdout]    | |_____^ associated function `autodetect_dialog::<impl fan_pairing_page::FanPairingPage>::show_autodetect_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `fan_pairing_page::FanPairingState` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/mod.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct FanPairingState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `fan_pairing_page::FanPairingState` is more private than the item `pairing_dialog::<impl fan_pairing_page::FanPairingPage>::show_pairing_dialog`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/pairing_dialog.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn show_pairing_dialog(
[INFO] [stdout]  7 | |         parent_row: &adw::ActionRow,
[INFO] [stdout]  8 | |         pwm: &PwmPairingData,
[INFO] [stdout]  9 | |         state: &Rc<RefCell<FanPairingState>>,
[INFO] [stdout] 10 | |         pwm_list: Option<&ListBox>,
[INFO] [stdout] 11 | |     ) {
[INFO] [stdout]    | |_____^ associated function `pairing_dialog::<impl fan_pairing_page::FanPairingPage>::show_pairing_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `fan_pairing_page::FanPairingState` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/mod.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct FanPairingState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state` and `on_state_change` are never used
[INFO] [stdout]   --> hf-gtk/src/daemon_health.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl DaemonHealthMonitor {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn state(&self) -> DaemonState {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn on_state_change<F: Fn(DaemonState) + Send + 'static>(&self, callback: F) {
[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 `retry_daemon_operation` is never used
[INFO] [stdout]    --> hf-gtk/src/daemon_health.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn retry_daemon_operation<T, F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_daemon_error_toast` is never used
[INFO] [stdout]    --> hf-gtk/src/daemon_health.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn show_daemon_error_toast(_window: &libadwaita::ApplicationWindow, error: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `icon_name` and `tooltip` are never used
[INFO] [stdout]   --> hf-gtk/src/widgets/nav_sidebar.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl NavPage {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 27 |     /// Get the GTK symbolic icon name for this page
[INFO] [stdout] 28 |     fn icon_name(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn tooltip(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NavSidebar` is never constructed
[INFO] [stdout]   --> hf-gtk/src/widgets/nav_sidebar.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct NavSidebar {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build_container`, `build_nav_button`, `connect_navigate`, `set_active`, and `widget` are never used
[INFO] [stdout]    --> hf-gtk/src/widgets/nav_sidebar.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl NavSidebar {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  64 |     /// Create a new navigation sidebar
[INFO] [stdout]  65 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     fn build_container() -> GtkBox {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn build_nav_button(page: NavPage) -> Button {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn connect_navigate<F: Fn(NavPage) + 'static>(&self, callback: F) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn set_active(&self, active_page: NavPage) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn widget(&self) -> &GtkBox {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemInfoCard` is never constructed
[INFO] [stdout]  --> hf-gtk/src/widgets/system_info.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SystemInfoCard {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_row`, and `widget` are never used
[INFO] [stdout]   --> hf-gtk/src/widgets/system_info.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl SystemInfoCard {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn add_row(card: &adw::PreferencesGroup, title: &str, value: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn widget(&self) -> &adw::PreferencesGroup {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempMonitor` is never constructed
[INFO] [stdout]   --> hf-gtk/src/widgets/temp_monitor.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TempMonitor {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, `sensor_path`, and `widget` are never used
[INFO] [stdout]   --> hf-gtk/src/widgets/temp_monitor.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl TempMonitor {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(chip_name: &str, sensor: &TemperatureSensor) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn update(&self, temp: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn sensor_path(&self) -> &PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn widget(&self) -> &adw::ActionRow {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempMonitorGroup` is never constructed
[INFO] [stdout]   --> hf-gtk/src/widgets/temp_monitor.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct TempMonitorGroup {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `refresh`, and `widget` are never used
[INFO] [stdout]    --> hf-gtk/src/widgets/temp_monitor.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl TempMonitorGroup {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn refresh(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn widget(&self) -> &adw::PreferencesGroup {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `settings_page` is never read
[INFO] [stdout]   --> hf-gtk/src/window/mod.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct HyperfanWindow {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     settings_page: Rc<SettingsPage>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `present`, `check_daemon_connectivity`, and `check_first_run_detection` are never used
[INFO] [stdout]    --> hf-gtk/src/window/mod.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl HyperfanWindow {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn present(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     fn check_daemon_connectivity(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     fn check_first_run_detection(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLASS_DAEMON_ERROR` is never used
[INFO] [stdout]   --> hf-gtk/src/window/titlebar.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const CLASS_DAEMON_ERROR: &str = "daemon-error";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLASS_DAEMON_ACTIVE` is never used
[INFO] [stdout]   --> hf-gtk/src/window/titlebar.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const CLASS_DAEMON_ACTIVE: &str = "daemon-active";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title_widget` is never read
[INFO] [stdout]   --> hf-gtk/src/window/titlebar.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Titlebar {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     title_widget: adw::WindowTitle,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Titlebar` 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 `set_daemon_available`, `set_daemon_error`, `set_title`, and `set_subtitle` are never used
[INFO] [stdout]    --> hf-gtk/src/window/titlebar.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Titlebar {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_daemon_available(&self, visible: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn set_daemon_error(&self, error: Option<&str>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn set_title(&self, title: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn set_subtitle(&self, subtitle: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `title`, `subtitle`, `show_daemon_indicator`, and `daemon_indicator_tooltip` are never used
[INFO] [stdout]    --> hf-gtk/src/window/titlebar.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl<'a> TitlebarBuilder<'a> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn title(mut self, title: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn subtitle(mut self, subtitle: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn show_daemon_indicator(mut self, show: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn daemon_indicator_tooltip(mut self, tooltip: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `maximize_btn` is never read
[INFO] [stdout]    --> hf-gtk/src/window/titlebar.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | struct WindowControls {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 264 |     container: gtk4::Box,
[INFO] [stdout] 265 |     maximize_btn: Button,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NavButton` is never constructed
[INFO] [stdout]   --> hf-gtk/src/window/navigation.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct NavButton {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_animated`, and `set_active` are never used
[INFO] [stdout]   --> hf-gtk/src/window/navigation.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl NavButton {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn new(page: NavPage, icon_name: &str, tooltip: &str, stack_name: &'static str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn new_animated(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn set_active(&self, active: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnimationHandle` is never constructed
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct AnimationHandle {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `start` is never used
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl AnimationHandle {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn start(self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Navigator` is never constructed
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Navigator {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NavigatorInner` is never constructed
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | struct NavigatorInner {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl Navigator {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn new(stack: gtk4::Stack) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn add_button(&self, nav_button: NavButton) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn set_settings_button(&self, button: Button) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn navigate_to(&self, page: NavPage) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn navigate_to_settings(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn current_page(&self) -> NavPage {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn is_on_settings(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn stack(&self) -> &gtk4::Stack {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn buttons(&self) -> Vec<(NavPage, Button)> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_daemon_not_running_dialog` is never used
[INFO] [stdout]   --> hf-gtk/src/window/dialogs.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn show_daemon_not_running_dialog(window: &adw::ApplicationWindow, settings_page: Rc<SettingsPage>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::TempSourceItem` is more private than the item `loaders::<impl add_pair_dialog::AddPairDialog>::load_temp_sources`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/loaders.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 |     pub(crate) fn load_temp_sources() -> Vec<TempSourceItem> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `loaders::<impl add_pair_dialog::AddPairDialog>::load_temp_sources` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `add_pair_dialog::TempSourceItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct TempSourceItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::FanItem` is more private than the item `loaders::<impl add_pair_dialog::AddPairDialog>::load_fans`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/loaders.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub(crate) fn load_fans(existing_pairs: &[PairData]) -> Vec<FanItem> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `loaders::<impl add_pair_dialog::AddPairDialog>::load_fans` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `add_pair_dialog::FanItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | struct FanItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::FanItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn create_fan_row_with_checkbox(
[INFO] [stdout]  7 | |         fan: &FanItem,
[INFO] [stdout]  8 | |         selected_fans: Rc<RefCell<Vec<FanItem>>>,
[INFO] [stdout]  9 | |         create_btn: gtk4::Button,
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |         edit_pair: Option<&PairData>,
[INFO] [stdout] 13 | |     ) -> ListBoxRow {
[INFO] [stdout]    | |___________________^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `add_pair_dialog::FanItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct FanItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::TempSourceItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn create_fan_row_with_checkbox(
[INFO] [stdout]  7 | |         fan: &FanItem,
[INFO] [stdout]  8 | |         selected_fans: Rc<RefCell<Vec<FanItem>>>,
[INFO] [stdout]  9 | |         create_btn: gtk4::Button,
[INFO] [stdout] ...  |
[INFO] [stdout] 12 | |         edit_pair: Option<&PairData>,
[INFO] [stdout] 13 | |     ) -> ListBoxRow {
[INFO] [stdout]    | |___________________^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row_with_checkbox` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `add_pair_dialog::TempSourceItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct TempSourceItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::TempSourceItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_temp_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub(crate) fn create_temp_row(source: &TempSourceItem) -> ListBoxRow {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_temp_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `add_pair_dialog::TempSourceItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | struct TempSourceItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `add_pair_dialog::FanItem` is more private than the item `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/rows.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub(crate) fn create_fan_row(fan: &FanItem) -> ListBoxRow {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `rows::<impl add_pair_dialog::AddPairDialog>::create_fan_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `add_pair_dialog::FanItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/add_pair_dialog/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | struct FanItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_color_picker`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 | /     pub(crate) fn show_color_picker(
[INFO] [stdout]   7 | |         btn: &Button,
[INFO] [stdout]   8 | |         register: u8,
[INFO] [stdout]   9 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout]  10 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_color_picker` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout]  61 | /     pub(crate) fn show_edit_dialog(
[INFO] [stdout]  62 | |         btn: &Button,
[INFO] [stdout]  63 | |         reg: &EcRegisterData,
[INFO] [stdout]  64 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout]  65 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout]  61 | /     pub(crate) fn show_edit_dialog(
[INFO] [stdout]  62 | |         btn: &Button,
[INFO] [stdout]  63 | |         reg: &EcRegisterData,
[INFO] [stdout]  64 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout]  65 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_edit_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub(crate) fn show_export_dialog(
[INFO] [stdout] 253 | |         btn: &Button,
[INFO] [stdout] 254 | |         chip: &EcChipMetadata,
[INFO] [stdout] 255 | |         registers: &[EcRegisterData],
[INFO] [stdout] 256 | |         profile_data: &EcProfileData,
[INFO] [stdout] 257 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub(crate) fn show_export_dialog(
[INFO] [stdout] 253 | |         btn: &Button,
[INFO] [stdout] 254 | |         chip: &EcChipMetadata,
[INFO] [stdout] 255 | |         registers: &[EcRegisterData],
[INFO] [stdout] 256 | |         profile_data: &EcProfileData,
[INFO] [stdout] 257 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/dialogs.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | /     pub(crate) fn show_export_dialog(
[INFO] [stdout] 253 | |         btn: &Button,
[INFO] [stdout] 254 | |         chip: &EcChipMetadata,
[INFO] [stdout] 255 | |         registers: &[EcRegisterData],
[INFO] [stdout] 256 | |         profile_data: &EcProfileData,
[INFO] [stdout] 257 | |     ) {
[INFO] [stdout]     | |_____^ associated function `ec_control_page::dialogs::<impl EcControlPage>::show_export_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `registers::<impl EcControlPage>::refresh_ec_chips`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:6:5
[INFO] [stdout]     |
[INFO] [stdout]   6 |     pub(crate) fn refresh_ec_chips(chips: &Rc<RefCell<Vec<EcChipMetadata>>>, dropdown: &adw::ComboRow) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `registers::<impl EcControlPage>::refresh_ec_chips` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `registers::<impl EcControlPage>::chip_metadata_from_ec_info`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:51:5
[INFO] [stdout]     |
[INFO] [stdout]  51 | /     pub(crate) fn chip_metadata_from_ec_info(
[INFO] [stdout]  52 | |         info: &hf_core::DaemonEcChipInfo,
[INFO] [stdout]  53 | |         hw: Option<&hf_core::daemon_client::DaemonHwmonChip>,
[INFO] [stdout]  54 | |     ) -> EcChipMetadata {
[INFO] [stdout]     | |_______________________^ associated function `registers::<impl EcControlPage>::chip_metadata_from_ec_info` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcChipMetadata` is more private than the item `registers::<impl EcControlPage>::read_live_registers`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     pub(crate) fn read_live_registers(
[INFO] [stdout] 132 | |         chip: &EcChipMetadata,
[INFO] [stdout] 133 | |         registers: &Rc<RefCell<Vec<EcRegisterData>>>,
[INFO] [stdout] 134 | |     ) -> Result<usize, String> {
[INFO] [stdout]     | |______________________________^ associated function `registers::<impl EcControlPage>::read_live_registers` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcChipMetadata` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct EcChipMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `registers::<impl EcControlPage>::read_live_registers`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | /     pub(crate) fn read_live_registers(
[INFO] [stdout] 132 | |         chip: &EcChipMetadata,
[INFO] [stdout] 133 | |         registers: &Rc<RefCell<Vec<EcRegisterData>>>,
[INFO] [stdout] 134 | |     ) -> Result<usize, String> {
[INFO] [stdout]     | |______________________________^ associated function `registers::<impl EcControlPage>::read_live_registers` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `registers::<impl EcControlPage>::render_register_list`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) fn render_register_list(
[INFO] [stdout] 214 | |         list: &ListBox,
[INFO] [stdout] 215 | |         registers: &[EcRegisterData],
[INFO] [stdout] 216 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 217 | |         sort_mode: SortMode,
[INFO] [stdout] 218 | |         color_filter: Option<u8>,
[INFO] [stdout] 219 | |     ) {
[INFO] [stdout]     | |_____^ associated function `registers::<impl EcControlPage>::render_register_list` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `registers::<impl EcControlPage>::render_register_list`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) fn render_register_list(
[INFO] [stdout] 214 | |         list: &ListBox,
[INFO] [stdout] 215 | |         registers: &[EcRegisterData],
[INFO] [stdout] 216 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 217 | |         sort_mode: SortMode,
[INFO] [stdout] 218 | |         color_filter: Option<u8>,
[INFO] [stdout] 219 | |     ) {
[INFO] [stdout]     | |_____^ associated function `registers::<impl EcControlPage>::render_register_list` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::SortMode` is more private than the item `registers::<impl EcControlPage>::render_register_list`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | /     pub(crate) fn render_register_list(
[INFO] [stdout] 214 | |         list: &ListBox,
[INFO] [stdout] 215 | |         registers: &[EcRegisterData],
[INFO] [stdout] 216 | |         profile_data: &Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 217 | |         sort_mode: SortMode,
[INFO] [stdout] 218 | |         color_filter: Option<u8>,
[INFO] [stdout] 219 | |     ) {
[INFO] [stdout]     | |_____^ associated function `registers::<impl EcControlPage>::render_register_list` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::SortMode` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout]  99 | enum SortMode {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcRegisterData` is more private than the item `registers::<impl EcControlPage>::create_register_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 | /     pub(crate) fn create_register_row(
[INFO] [stdout] 287 | |         reg: &EcRegisterData,
[INFO] [stdout] 288 | |         profile_data: Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 289 | |     ) -> adw::ActionRow {
[INFO] [stdout]     | |_______________________^ associated function `registers::<impl EcControlPage>::create_register_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcRegisterData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct EcRegisterData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ec_control_page::EcProfileData` is more private than the item `registers::<impl EcControlPage>::create_register_row`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/registers.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 | /     pub(crate) fn create_register_row(
[INFO] [stdout] 287 | |         reg: &EcRegisterData,
[INFO] [stdout] 288 | |         profile_data: Rc<RefCell<EcProfileData>>,
[INFO] [stdout] 289 | |     ) -> adw::ActionRow {
[INFO] [stdout]     | |_______________________^ associated function `registers::<impl EcControlPage>::create_register_row` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ec_control_page::EcProfileData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> hf-gtk/src/widgets/ec_control_page/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | struct EcProfileData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `fan_pairing_page::FanPairingState` is more private than the item `autodetect_dialog::<impl fan_pairing_page::FanPairingPage>::show_autodetect_dialog`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/autodetect_dialog.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn show_autodetect_dialog(
[INFO] [stdout]  7 | |         window: Option<&gtk4::Window>,
[INFO] [stdout]  8 | |         state: &Rc<RefCell<FanPairingState>>,
[INFO] [stdout]  9 | |         pwm_list: &ListBox,
[INFO] [stdout] 10 | |     ) {
[INFO] [stdout]    | |_____^ associated function `autodetect_dialog::<impl fan_pairing_page::FanPairingPage>::show_autodetect_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `fan_pairing_page::FanPairingState` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/mod.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct FanPairingState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `fan_pairing_page::FanPairingState` is more private than the item `pairing_dialog::<impl fan_pairing_page::FanPairingPage>::show_pairing_dialog`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/pairing_dialog.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | /     pub(crate) fn show_pairing_dialog(
[INFO] [stdout]  7 | |         parent_row: &adw::ActionRow,
[INFO] [stdout]  8 | |         pwm: &PwmPairingData,
[INFO] [stdout]  9 | |         state: &Rc<RefCell<FanPairingState>>,
[INFO] [stdout] 10 | |         pwm_list: Option<&ListBox>,
[INFO] [stdout] 11 | |     ) {
[INFO] [stdout]    | |_____^ associated function `pairing_dialog::<impl fan_pairing_page::FanPairingPage>::show_pairing_dialog` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `fan_pairing_page::FanPairingState` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> hf-gtk/src/widgets/fan_pairing_page/mod.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct FanPairingState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state` and `on_state_change` are never used
[INFO] [stdout]   --> hf-gtk/src/daemon_health.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl DaemonHealthMonitor {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn state(&self) -> DaemonState {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn on_state_change<F: Fn(DaemonState) + Send + 'static>(&self, callback: F) {
[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 `retry_daemon_operation` is never used
[INFO] [stdout]    --> hf-gtk/src/daemon_health.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn retry_daemon_operation<T, F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_daemon_error_toast` is never used
[INFO] [stdout]    --> hf-gtk/src/daemon_health.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn show_daemon_error_toast(_window: &libadwaita::ApplicationWindow, error: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `icon_name` and `tooltip` are never used
[INFO] [stdout]   --> hf-gtk/src/widgets/nav_sidebar.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl NavPage {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 27 |     /// Get the GTK symbolic icon name for this page
[INFO] [stdout] 28 |     fn icon_name(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn tooltip(&self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NavSidebar` is never constructed
[INFO] [stdout]   --> hf-gtk/src/widgets/nav_sidebar.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct NavSidebar {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build_container`, `build_nav_button`, `connect_navigate`, `set_active`, and `widget` are never used
[INFO] [stdout]    --> hf-gtk/src/widgets/nav_sidebar.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl NavSidebar {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  64 |     /// Create a new navigation sidebar
[INFO] [stdout]  65 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     fn build_container() -> GtkBox {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn build_nav_button(page: NavPage) -> Button {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn connect_navigate<F: Fn(NavPage) + 'static>(&self, callback: F) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn set_active(&self, active_page: NavPage) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn widget(&self) -> &GtkBox {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemInfoCard` is never constructed
[INFO] [stdout]  --> hf-gtk/src/widgets/system_info.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SystemInfoCard {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_row`, and `widget` are never used
[INFO] [stdout]   --> hf-gtk/src/widgets/system_info.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl SystemInfoCard {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn add_row(card: &adw::PreferencesGroup, title: &str, value: &str) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn widget(&self) -> &adw::PreferencesGroup {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempMonitor` is never constructed
[INFO] [stdout]   --> hf-gtk/src/widgets/temp_monitor.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TempMonitor {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, `sensor_path`, and `widget` are never used
[INFO] [stdout]   --> hf-gtk/src/widgets/temp_monitor.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl TempMonitor {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(chip_name: &str, sensor: &TemperatureSensor) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn update(&self, temp: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn sensor_path(&self) -> &PathBuf {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn widget(&self) -> &adw::ActionRow {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempMonitorGroup` is never constructed
[INFO] [stdout]   --> hf-gtk/src/widgets/temp_monitor.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct TempMonitorGroup {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `refresh`, and `widget` are never used
[INFO] [stdout]    --> hf-gtk/src/widgets/temp_monitor.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl TempMonitorGroup {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn refresh(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn widget(&self) -> &adw::PreferencesGroup {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `settings_page` is never read
[INFO] [stdout]   --> hf-gtk/src/window/mod.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct HyperfanWindow {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     settings_page: Rc<SettingsPage>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `present`, `check_daemon_connectivity`, and `check_first_run_detection` are never used
[INFO] [stdout]    --> hf-gtk/src/window/mod.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl HyperfanWindow {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn present(&self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     fn check_daemon_connectivity(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     fn check_first_run_detection(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLASS_DAEMON_ERROR` is never used
[INFO] [stdout]   --> hf-gtk/src/window/titlebar.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const CLASS_DAEMON_ERROR: &str = "daemon-error";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLASS_DAEMON_ACTIVE` is never used
[INFO] [stdout]   --> hf-gtk/src/window/titlebar.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const CLASS_DAEMON_ACTIVE: &str = "daemon-active";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title_widget` is never read
[INFO] [stdout]   --> hf-gtk/src/window/titlebar.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Titlebar {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     title_widget: adw::WindowTitle,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Titlebar` 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 `set_daemon_available`, `set_daemon_error`, `set_title`, and `set_subtitle` are never used
[INFO] [stdout]    --> hf-gtk/src/window/titlebar.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Titlebar {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_daemon_available(&self, visible: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn set_daemon_error(&self, error: Option<&str>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn set_title(&self, title: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn set_subtitle(&self, subtitle: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `title`, `subtitle`, `show_daemon_indicator`, and `daemon_indicator_tooltip` are never used
[INFO] [stdout]    --> hf-gtk/src/window/titlebar.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl<'a> TitlebarBuilder<'a> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn title(mut self, title: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn subtitle(mut self, subtitle: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn show_daemon_indicator(mut self, show: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn daemon_indicator_tooltip(mut self, tooltip: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `maximize_btn` is never read
[INFO] [stdout]    --> hf-gtk/src/window/titlebar.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | struct WindowControls {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 264 |     container: gtk4::Box,
[INFO] [stdout] 265 |     maximize_btn: Button,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NavButton` is never constructed
[INFO] [stdout]   --> hf-gtk/src/window/navigation.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct NavButton {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_animated`, and `set_active` are never used
[INFO] [stdout]   --> hf-gtk/src/window/navigation.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl NavButton {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn new(page: NavPage, icon_name: &str, tooltip: &str, stack_name: &'static str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn new_animated(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn set_active(&self, active: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnimationHandle` is never constructed
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct AnimationHandle {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `start` is never used
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl AnimationHandle {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn start(self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Navigator` is never constructed
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct Navigator {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NavigatorInner` is never constructed
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | struct NavigatorInner {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> hf-gtk/src/window/navigation.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | impl Navigator {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn new(stack: gtk4::Stack) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn add_button(&self, nav_button: NavButton) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn set_settings_button(&self, button: Button) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn navigate_to(&self, page: NavPage) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn navigate_to_settings(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn current_page(&self) -> NavPage {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn is_on_settings(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn stack(&self) -> &gtk4::Stack {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn buttons(&self) -> Vec<(NavPage, Button)> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_daemon_not_running_dialog` is never used
[INFO] [stdout]   --> hf-gtk/src/window/dialogs.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn show_daemon_not_running_dialog(window: &adw::ApplicationWindow, settings_page: Rc<SettingsPage>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `anyhow`
[INFO] [stderr]   --> hf-core/Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | 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 `parking_lot`
[INFO] [stderr]   --> hf-core/Cargo.toml:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | parking_lot = "0.12"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `parking_lot`
[INFO] [stderr] warning: `hf-core` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 20s
[INFO] running `Command { std: "docker" "inspect" "f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b", kill_on_drop: false }`
[INFO] [stdout] f1c63f48757487ea6e03de516bbf7cbabb64f6810924d6940a5f098ced98346b
