[INFO] cloning repository https://github.com/YunlongChen/learn-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/YunlongChen/learn-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYunlongChen%2Flearn-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYunlongChen%2Flearn-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b994a8d8302424c48d2740550864602c8e288466
[INFO] checking YunlongChen/learn-rust against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYunlongChen%2Flearn-rust" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/YunlongChen/learn-rust
[INFO] finished tweaking git repo https://github.com/YunlongChen/learn-rust
[INFO] tweaked toml for git repo https://github.com/YunlongChen/learn-rust written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/YunlongChen/learn-rust on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/YunlongChen/learn-rust 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-1-tc1/source/crates/domain_manager/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-test-macro v0.2.5
[INFO] [stderr]   Downloaded serde_test v1.0.177
[INFO] [stderr]   Downloaded tracing-test v0.2.5
[INFO] [stderr]   Downloaded sdd v3.0.5
[INFO] [stderr]   Downloaded toml v0.9.1
[INFO] [stderr]   Downloaded cloudflare v0.14.0
[INFO] [stderr]   Downloaded cornucopia_client_core v0.4.0
[INFO] [stderr]   Downloaded ouroboros v0.18.5
[INFO] [stderr]   Downloaded ordered-multimap v0.7.3
[INFO] [stderr]   Downloaded inherent v1.0.12
[INFO] [stderr]   Downloaded sea-orm-macros v1.1.13
[INFO] [stderr]   Downloaded sea-orm-cli v1.1.13
[INFO] [stderr]   Downloaded config v0.15.13
[INFO] [stderr]   Downloaded resvg v0.42.0
[INFO] [stderr]   Downloaded hmac v0.13.0-rc.0
[INFO] [stderr]   Downloaded zip v2.4.2
[INFO] [stderr]   Downloaded serde_with v3.14.0
[INFO] [stderr]   Downloaded sea-query v0.32.6
[INFO] [stderr]   Downloaded yaml-rust2 v0.10.3
[INFO] [stderr]   Downloaded iced_fontello v0.13.2
[INFO] [stderr]   Downloaded fontdb v0.18.0
[INFO] [stderr]   Downloaded deunicode v1.6.2
[INFO] [stderr]   Downloaded rust_decimal v1.37.2
[INFO] [stderr]   Downloaded sea-query v1.0.0-rc.3
[INFO] [stderr]   Downloaded usvg v0.42.0
[INFO] [stderr]   Downloaded pgvector v0.4.1
[INFO] [stderr]   Downloaded sea-query-binder v0.8.0-rc.1
[INFO] [stderr]   Downloaded serde_with_macros v3.14.0
[INFO] [stderr]   Downloaded hybrid-array v0.3.1
[INFO] [stderr]   Downloaded digest v0.11.0-rc.0
[INFO] [stderr]   Downloaded rustls v0.23.20
[INFO] [stderr]   Downloaded sha2 v0.11.0-rc.0
[INFO] [stderr]   Downloaded etagere v0.2.13
[INFO] [stderr]   Downloaded ipnetwork v0.21.1
[INFO] [stderr]   Downloaded maxminddb v0.26.0
[INFO] [stderr]   Downloaded base62 v2.0.3
[INFO] [stderr]   Downloaded rust-i18n-support v3.1.5
[INFO] [stderr]   Downloaded rust-i18n v3.1.5
[INFO] [stderr]   Downloaded ouroboros_macro v0.18.5
[INFO] [stderr]   Downloaded sea-orm-migration v1.1.13
[INFO] [stderr]   Downloaded rust-ini v0.21.2
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded block-buffer v0.11.0-rc.4
[INFO] [stderr]   Downloaded const-oid v0.10.1
[INFO] [stderr]   Downloaded crypto-common v0.2.0-rc.3
[INFO] [stderr]   Downloaded security-framework-sys v2.13.0
[INFO] [stderr]   Downloaded sea-query-derive v0.4.3
[INFO] [stderr]   Downloaded sea-orm-macros v2.0.0-rc.1
[INFO] [stderr]   Downloaded sea-orm-cli v2.0.0-rc.1
[INFO] [stderr]   Downloaded sea-orm-migration v2.0.0-rc.1
[INFO] [stderr]   Downloaded cornucopia_sync v0.4.0
[INFO] [stderr]   Downloaded postgres v0.19.9
[INFO] [stderr]   Downloaded postgres-derive v0.4.6
[INFO] [stderr]   Downloaded confy v1.0.0
[INFO] [stderr]   Downloaded scc v2.3.0
[INFO] [stderr]   Downloaded imagesize v0.12.0
[INFO] [stderr]   Downloaded fragile v2.0.1
[INFO] [stderr]   Downloaded rust-i18n-macro v3.1.5
[INFO] [stderr]   Downloaded cc v1.1.22
[INFO] [stderr]   Downloaded redox_syscall v0.5.6
[INFO] [stderr]   Downloaded toml_parser v1.0.0
[INFO] [stderr]   Downloaded sea-schema v0.16.2
[INFO] [stderr]   Downloaded sea-schema v0.17.0-rc.2
[INFO] [stderr]   Downloaded sea-orm v1.1.13
[INFO] [stderr]   Downloaded sea-orm v2.0.0-rc.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e76e0e2d9538206defa51b5e9c0fde0cda7572a5eeaff760d69ba8b27937052b
[INFO] running `Command { std: "docker" "start" "-a" "e76e0e2d9538206defa51b5e9c0fde0cda7572a5eeaff760d69ba8b27937052b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e76e0e2d9538206defa51b5e9c0fde0cda7572a5eeaff760d69ba8b27937052b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e76e0e2d9538206defa51b5e9c0fde0cda7572a5eeaff760d69ba8b27937052b", kill_on_drop: false }`
[INFO] [stdout] e76e0e2d9538206defa51b5e9c0fde0cda7572a5eeaff760d69ba8b27937052b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4bbfd7a8ba3c0367c32de53d34353e84ca9d7dbdbdb95737ce5b81fe4804029
[INFO] running `Command { std: "docker" "start" "-a" "a4bbfd7a8ba3c0367c32de53d34353e84ca9d7dbdbdb95737ce5b81fe4804029", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/crates/domain_manager/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking bytes v1.7.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling cc v1.1.22
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling thiserror v1.0.65
[INFO] [stderr]    Compiling rustix v0.38.42
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking flate2 v1.0.34
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling bigdecimal v0.4.8
[INFO] [stderr]    Compiling rust_decimal v1.37.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking http v1.2.0
[INFO] [stderr]     Checking whoami v1.5.2
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]     Checking regex v1.11.0
[INFO] [stderr]     Checking rustls-pki-types v1.10.1
[INFO] [stderr]     Checking event-listener v5.3.1
[INFO] [stderr]     Checking slotmap v1.0.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking fontconfig-parser v0.5.7
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking winnow v0.7.10
[INFO] [stderr]    Compiling rustls v0.23.20
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.2.0
[INFO] [stderr]     Checking unicode-script v0.5.7
[INFO] [stderr]     Checking unicode-ccc v0.2.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking indexmap v2.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling thiserror-impl v1.0.65
[INFO] [stderr]    Compiling bytemuck_derive v1.8.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling inherent v1.0.12
[INFO] [stderr]    Compiling sea-query-derive v0.4.3
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking tokio v1.46.1
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking font-types v0.7.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking read-fonts v0.22.7
[INFO] [stderr]     Checking rustybuzz v0.14.1
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]    Compiling palette_derive v0.7.6
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking rustc-hash v2.1.0
[INFO] [stderr]     Checking fast-srgb8 v1.0.0
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]     Checking palette v0.7.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking h2 v0.4.7
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking wayland-client v0.31.7
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking wayland-protocols v0.32.5
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking webpki-roots v1.0.1
[INFO] [stderr]     Checking hybrid-array v0.3.1
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]     Checking sqlx-postgres v0.8.6
[INFO] [stderr]     Checking bstr v1.11.1
[INFO] [stderr]     Checking skrifa v0.22.3
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking zeno v0.2.3
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]     Checking yazi v0.1.6
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]     Checking swash v0.1.19
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking fontdb v0.16.2
[INFO] [stderr]     Checking hyper-util v0.1.15
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking wayland-cursor v0.31.7
[INFO] [stderr]     Checking tokio-rustls v0.26.1
[INFO] [stderr]     Checking ash v0.37.3+1.3.251
[INFO] [stderr]     Checking globset v0.4.15
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]    Compiling sea-bae v0.2.1
[INFO] [stderr]     Checking iced_core v0.13.2
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.5
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking self_cell v1.1.0
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking rangemap v1.5.1
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking sys-locale v0.3.2
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking clap_builder v4.5.41
[INFO] [stderr]     Checking cosmic-text v0.12.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling wgpu-core v0.19.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking iced_futures v0.13.2
[INFO] [stderr]     Checking hyper-rustls v0.27.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling ouroboros_macro v0.18.5
[INFO] [stderr]     Checking ignore v0.4.23
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]     Checking crypto-common v0.2.0-rc.3
[INFO] [stderr]     Checking block-buffer v0.11.0-rc.4
[INFO] [stderr]     Checking kurbo v0.11.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling wgpu v0.19.4
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]     Checking const-oid v0.10.1
[INFO] [stderr]     Checking aliasable v0.1.3
[INFO] [stderr]     Checking svg_fmt v0.4.4
[INFO] [stderr]     Checking svgtypes v0.15.3
[INFO] [stderr]     Checking digest v0.11.0-rc.0
[INFO] [stderr]     Checking ouroboros v0.18.5
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]     Checking reqwest v0.12.22
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]    Compiling sea-schema-derive v0.3.0
[INFO] [stderr]     Checking fontdb v0.18.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking simplecss v0.2.2
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking imagesize v0.12.0
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking data-url v0.3.1
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking xmlwriter v0.1.0
[INFO] [stderr]     Checking clap v4.5.41
[INFO] [stderr]     Checking unicode-vo v0.1.0
[INFO] [stderr]     Checking postgres-protocol v0.6.7
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking usvg v0.42.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking iced_graphics v0.13.0
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking etagere v0.2.13
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]    Compiling postgres-derive v0.4.6
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking postgres-types v0.2.8
[INFO] [stderr]    Compiling winit v0.30.6
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking resvg v0.42.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking hmac v0.13.0-rc.0
[INFO] [stderr]     Checking wgpu-hal v0.19.5
[INFO] [stderr]     Checking sha2 v0.11.0-rc.0
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking sea-query v0.32.6
[INFO] [stderr]     Checking sea-query v1.0.0-rc.3
[INFO] [stderr]     Checking toml_datetime v0.7.0
[INFO] [stderr]     Checking serde_spanned v1.0.0
[INFO] [stderr]     Checking toml_parser v1.0.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking unic-common v0.9.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking unic-char-range v0.9.0
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling triomphe v0.1.14
[INFO] [stderr]    Compiling bytestring v1.3.1
[INFO] [stderr]     Checking yaml-rust2 v0.10.3
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking unic-char-property v0.9.0
[INFO] [stderr]     Checking toml v0.9.1
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]     Checking unic-ucd-version v0.9.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking clipboard_wayland v0.2.2
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]     Checking rust-ini v0.21.2
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking brotli-decompressor v5.0.0
[INFO] [stderr]     Checking clipboard_x11 v0.4.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking iced_runtime v0.13.2
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.5
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking bumpalo v3.16.0
[INFO] [stderr]     Checking lockfree-object-pool v0.1.6
[INFO] [stderr]    Compiling normpath v1.3.0
[INFO] [stderr]    Compiling base62 v2.0.3
[INFO] [stderr]     Checking unicode-ident v1.0.13
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking predicates-core v1.0.9
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking config v0.15.13
[INFO] [stderr]    Compiling rust-i18n-support v3.1.5
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking zopfli v0.8.1
[INFO] [stderr]     Checking brotli v8.0.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking window_clipboard v0.4.1
[INFO] [stderr]     Checking xz2 v0.1.7
[INFO] [stderr]     Checking bzip2 v0.5.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking unic-ucd-segment v0.9.0
[INFO] [stderr]     Checking sea-query-binder v0.8.0-rc.1
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking sea-query-binder v0.7.0
[INFO] [stderr]     Checking domain_client v0.1.0 (/opt/rustwide/workdir/crates/domain_client)
[INFO] [stderr]     Checking tokio-postgres v0.7.12
[INFO] [stderr]    Compiling rust-i18n v3.1.5
[INFO] [stderr]    Compiling sea-orm-macros v1.1.13
[INFO] [stderr]    Compiling sea-orm-macros v2.0.0-rc.1
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]    Compiling serde_with_macros v3.14.0
[INFO] [stderr]     Checking lzma-rs v0.3.0
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking strum v0.27.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking deflate64 v0.1.9
[INFO] [stderr]     Checking serde_with v3.14.0
[INFO] [stderr]     Checking iced_winit v0.13.0
[INFO] [stderr]     Checking slug v0.1.6
[INFO] [stderr]     Checking sea-orm v1.1.13
[INFO] [stderr]     Checking predicates-tree v1.0.12
[INFO] [stderr]     Checking sea-orm v2.0.0-rc.1
[INFO] [stderr]    Compiling rust-i18n-macro v3.1.5
[INFO] [stderr]     Checking postgres v0.19.9
[INFO] [stderr]     Checking actix-http v3.11.0
[INFO] [stderr]     Checking unic-segment v0.9.0
[INFO] [stderr]    Compiling validator_derive v0.18.2
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking cookie v0.16.2
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking predicates v3.1.3
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking sea-schema v0.17.0-rc.2
[INFO] [stderr]     Checking sea-schema v0.16.2
[INFO] [stderr]     Checking cornucopia_client_core v0.4.0
[INFO] [stderr]     Checking sea-orm-cli v2.0.0-rc.1
[INFO] [stderr]     Checking sea-orm-cli v1.1.13
[INFO] [stderr]     Checking globwalk v0.9.1
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]     Checking ipnetwork v0.21.1
[INFO] [stderr]    Compiling domain_manager v0.0.1 (/opt/rustwide/workdir/crates/domain_manager)
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking impl-more v0.1.6
[INFO] [stderr]     Checking sdd v3.0.5
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking actix-web v4.11.0
[INFO] [stderr]     Checking validator v0.18.1
[INFO] [stderr]     Checking scc v2.3.0
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]     Checking sea-orm-migration v1.1.13
[INFO] [stderr]     Checking maxminddb v0.26.0
[INFO] [stderr]     Checking cloudflare v0.14.0
[INFO] [stderr]     Checking mockall v0.13.1
[INFO] [stderr]     Checking tera v1.20.0
[INFO] [stderr]     Checking cornucopia_sync v0.4.0
[INFO] [stderr]     Checking confy v1.0.0
[INFO] [stderr]     Checking iced_fontello v0.13.2
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking sea-orm-migration v2.0.0-rc.1
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking http_server v0.1.0 (/opt/rustwide/workdir/crates/http_server)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn handle(req: &HttpRequest) -> HttpResponse;
[INFO] [stdout]    |                    ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn handle(req: &HttpRequest) -> HttpResponse<'_>;
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn handle(request: &HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                        ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn handle(request: &HttpRequest) -> HttpResponse<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn handle(req: &HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                    ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn handle(req: &HttpRequest) -> HttpResponse<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:58:20
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn handle(req: &HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                    ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn handle(req: &HttpRequest) -> HttpResponse<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tracing-test v0.2.5
[INFO] [stderr]     Checking serde_test v1.0.177
[INFO] [stderr]     Checking test_db v0.1.0 (/opt/rustwide/workdir/crates/test_db)
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking dns_manager v0.1.0 (/opt/rustwide/workdir/crates/dns_manager)
[INFO] [stderr]     Checking learn-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking hello-game v0.1.0 (/opt/rustwide/workdir/crates/hello-game)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn handle(req: &HttpRequest) -> HttpResponse;
[INFO] [stdout]    |                    ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn handle(req: &HttpRequest) -> HttpResponse<'_>;
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn handle(request: &HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                        ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn handle(request: &HttpRequest) -> HttpResponse<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn handle(req: &HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                    ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn handle(req: &HttpRequest) -> HttpResponse<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/http_server/src/handler.rs:58:20
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn handle(req: &HttpRequest) -> HttpResponse {
[INFO] [stdout]    |                    ^^^^^^^^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn handle(req: &HttpRequest) -> HttpResponse<'_> {
[INFO] [stdout]    |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking domain_server v0.1.0 (/opt/rustwide/workdir/crates/domain_server)
[INFO] [stdout] warning: unused import: `crate::config::database::DatabaseConfig`
[INFO] [stdout]  --> crates/domain_server/src/config/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::config::database::DatabaseConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConnectionTrait` and `Statement`
[INFO] [stdout]  --> crates/domain_server/src/database.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sea_orm::{ConnectOptions, ConnectionTrait, Database, DatabaseConnection, Statement};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::database::DatabaseConfig`
[INFO] [stdout]  --> crates/domain_server/src/config/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::config::database::DatabaseConfig;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConnectionTrait` and `Statement`
[INFO] [stdout]  --> crates/domain_server/src/database.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sea_orm::{ConnectOptions, ConnectionTrait, Database, DatabaseConnection, Statement};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `db` and `tera` are never read
[INFO] [stdout]   --> crates/domain_server/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 18 |     db: DatabaseConnection,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 19 |     tera: Tera,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]  --> crates/domain_server/src/config/database.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DatabaseConfig {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     database: Option<String>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DatabaseConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `db` and `tera` are never read
[INFO] [stdout]   --> crates/domain_server/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 18 |     db: DatabaseConnection,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 19 |     tera: Tera,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]  --> crates/domain_server/src/config/database.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DatabaseConfig {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     database: Option<String>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `DatabaseConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking iced_glyphon v0.6.0
[INFO] [stderr]     Checking iced_wgpu v0.13.5
[INFO] [stderr]     Checking iced_renderer v0.13.0
[INFO] [stderr]     Checking iced_widget v0.13.4
[INFO] [stderr]     Checking iced v0.13.1
[INFO] [stdout] warning: unused import: `iced::Theme`
[INFO] [stdout]  --> crates/domain_manager/src/configs/gui_config.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use iced::Theme;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/domain_handler.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DnsRecord`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/message_handler.rs:11:46
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::gui::model::domain::{DnsProvider, DnsRecord, Domain};
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::pages::domain::AddDomainProviderForm`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/message_handler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gui::pages::domain::AddDomainProviderForm;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/message_handler.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NavigationMessage`, `UiMessage`, and `WindowMessage`
[INFO] [stdout]  --> crates/domain_manager/src/gui/handlers/provider_handler.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 |     MessageCategory, NavigationMessage, NotificationMessage, ProviderMessage, SyncMessage,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     UiMessage, WindowMessage,
[INFO] [stdout]   |     ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataUpdate`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/provider_handler.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gui::state::app_state::{DataUpdate, StateUpdate, UiUpdate};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/provider_handler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/ui_handler.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{error, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Size`
[INFO] [stdout]   --> crates/domain_manager/src/gui/manager_v2.rs:30:29
[INFO] [stdout]    |
[INFO] [stdout] 30 | use iced::{Element, Length, Size, Task};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:181:58
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     Some(MessageCategory::Window(Resized((Size::new(width, height)))))
[INFO] [stdout]     |                                                          ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -                     Some(MessageCategory::Window(Resized((Size::new(width, height)))))
[INFO] [stdout] 181 +                     Some(MessageCategory::Window(Resized(Size::new(width, height))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DemoPage`
[INFO] [stdout]  --> crates/domain_manager/src/gui/pages/mod.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use names::{Page, DemoPage};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Schema`
[INFO] [stdout]  --> crates/domain_manager/src/storage/database.rs:5:61
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sea_orm::{ConnectOptions, Database, DatabaseConnection, Schema};
[INFO] [stdout]   |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> crates/domain_manager/src/configs/config_settings.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DOMAIN_MANAGER_LOWERCASE`
[INFO] [stdout]  --> crates/domain_manager/src/configs/config_settings.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{StyleType, DOMAIN_MANAGER_LOWERCASE};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iced::Theme`
[INFO] [stdout]  --> crates/domain_manager/src/configs/gui_config.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use iced::Theme;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/domain_handler.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DnsRecord`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/message_handler.rs:11:46
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::gui::model::domain::{DnsProvider, DnsRecord, Domain};
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gui::pages::domain::AddDomainProviderForm`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/message_handler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gui::pages::domain::AddDomainProviderForm;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/message_handler.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NavigationMessage`, `UiMessage`, and `WindowMessage`
[INFO] [stdout]  --> crates/domain_manager/src/gui/handlers/provider_handler.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 |     MessageCategory, NavigationMessage, NotificationMessage, ProviderMessage, SyncMessage,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     UiMessage, WindowMessage,
[INFO] [stdout]   |     ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataUpdate`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/provider_handler.rs:13:36
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::gui::state::app_state::{DataUpdate, StateUpdate, UiUpdate};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/provider_handler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/ui_handler.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{error, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Size`
[INFO] [stdout]   --> crates/domain_manager/src/gui/manager_v2.rs:30:29
[INFO] [stdout]    |
[INFO] [stdout] 30 | use iced::{Element, Length, Size, Task};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:181:58
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     Some(MessageCategory::Window(Resized((Size::new(width, height)))))
[INFO] [stdout]     |                                                          ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -                     Some(MessageCategory::Window(Resized((Size::new(width, height)))))
[INFO] [stdout] 181 +                     Some(MessageCategory::Window(Resized(Size::new(width, height))))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DemoPage`
[INFO] [stdout]  --> crates/domain_manager/src/gui/pages/mod.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use names::{Page, DemoPage};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     rand::thread_rng().fill_bytes(&mut salt);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let encrypted = base64::encode(data.expose_secret().as_bytes());
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> crates/domain_manager/src/tests/dns_sync_tests.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | use anyhow::{Error, Result};
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iced::Size`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     use iced::Size;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> crates/domain_manager/src/tests/mock_aliyun_client.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 |     rand::thread_rng().fill_bytes(&mut salt);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let encrypted = base64::encode(data.expose_secret().as_bytes());
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActiveModelTrait`
[INFO] [stdout]  --> crates/domain_manager/src/storage/records.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ActiveModelTrait, ActiveValue, ColumnTrait, DatabaseConnection, EntityTrait, QueryFilter,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sea_orm::entity::prelude`
[INFO] [stdout]  --> crates/domain_manager/src/storage/database.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sea_orm::entity::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sea_orm::Iden`
[INFO] [stdout]  --> crates/domain_manager/src/storage/migration/m20250712_000001_create_dns_record_table.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sea_orm::Iden;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_name`
[INFO] [stdout]    --> crates/domain_manager/src/api/provider/aliyun.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn delete_dns_record(&self, domain_name: &DomainName, record_id: &str) -> Result<()> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_name`
[INFO] [stdout]    --> crates/domain_manager/src/api/provider/aliyun.rs:231:33
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn update_dns_record(&self, domain_name: &DomainName, record: &Record) -> Result<()> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     client: &Client,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access_key_id`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     access_key_id: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_access_key_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access_key_secret`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     access_key_secret: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_access_key_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     version: &str,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let priority = record_value.get("Priority")
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let line = record_value.get("Line")
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let weight = record_value.get("Weight")
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let config = self.get_config().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open_overlay`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     open_overlay: SettingsPage,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_open_overlay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open_overlay`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     open_overlay: SettingsPage,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_open_overlay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 267 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_background`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:271:25
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let (icon, tooltip, next_background) = match current_background {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_background`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_active`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 let is_active = match &self.filter_type {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_color`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let type_color = match record.record_type.as_str() {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_color`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:320:17
[INFO] [stdout]     |
[INFO] [stdout] 320 |             let type_color = match record.record_type.as_str() {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_color`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:335:17
[INFO] [stdout]     |
[INFO] [stdout] 335 |             let status_color = if record.enabled {
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_color`
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/domain_list.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let status_color = match domain.status.as_str() {
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:338:38
[INFO] [stdout]     |
[INFO] [stdout] 338 |     async fn delete_dns_record_async(domain_id: usize, record_id: usize) -> Result<(), String> {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_id`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:338:56
[INFO] [stdout]     |
[INFO] [stdout] 338 |     async fn delete_dns_record_async(domain_id: usize, record_id: usize) -> Result<(), String> {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:438:26
[INFO] [stdout]     |
[INFO] [stdout] 438 |     fn can_handle(&self, event: &DnsMessage) -> bool {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/domain_handler.rs:226:25
[INFO] [stdout]     |
[INFO] [stdout] 226 |                     let provider = DomainProvider {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/sync_handler.rs:396:21
[INFO] [stdout]     |
[INFO] [stdout] 396 |                 Ok((domain, result)) => match result {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:62:59
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn handle_start_drag(&mut self, state: &mut AppState, id: Id) -> HandlerResult {
[INFO] [stdout]    |                                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:311:36
[INFO] [stdout]     |
[INFO] [stdout] 311 |             WindowMessage::Resized(size) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:313:39
[INFO] [stdout]     |
[INFO] [stdout] 313 |             WindowMessage::DragWindow(position) => {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:329:42
[INFO] [stdout]     |
[INFO] [stdout] 329 |             WindowMessage::WindowResized(size) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_maximized`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:336:43
[INFO] [stdout]     |
[INFO] [stdout] 336 |             WindowMessage::WindowMaximize(is_maximized) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_maximized`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opacity`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:338:52
[INFO] [stdout]     |
[INFO] [stdout] 338 |             WindowMessage::BackgroundOpacityChange(opacity) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opacity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `App`
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:304:37
[INFO] [stdout]     |
[INFO] [stdout] 304 |         if let MessageCategory::App(App) = message {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_App`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn add_domain_page<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn help<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/settings.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     language: Language,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/config_service.rs:98:39
[INFO] [stdout]    |
[INFO] [stdout] 98 |     async fn get_config_string(&self, key: &str) -> ServiceResult<Option<String>> {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:103:39
[INFO] [stdout]     |
[INFO] [stdout] 103 |     async fn set_config_string(&self, key: &str, value: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:103:50
[INFO] [stdout]     |
[INFO] [stdout] 103 |     async fn set_config_string(&self, key: &str, value: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:108:37
[INFO] [stdout]     |
[INFO] [stdout] 108 |     async fn get_config_json(&self, key: &str) -> ServiceResult<Option<serde_json::Value>> {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |     async fn set_config_json(&self, key: &str, value: &serde_json::Value) -> ServiceResult<()> {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:113:48
[INFO] [stdout]     |
[INFO] [stdout] 113 |     async fn set_config_json(&self, key: &str, value: &serde_json::Value) -> ServiceResult<()> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:118:35
[INFO] [stdout]     |
[INFO] [stdout] 118 |     async fn remove_config(&self, key: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:128:34
[INFO] [stdout]     |
[INFO] [stdout] 128 |     async fn save_to_file(&self, path: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     async fn load_from_file(&self, path: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super`
[INFO] [stdout]    --> crates/domain_manager/src/storage/database.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     use super::*;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sea_orm::Iden`
[INFO] [stdout]  --> crates/domain_manager/src/storage/migration/m20250712_000001_create_dns_record_table.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sea_orm::Iden;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActiveModelTrait`
[INFO] [stdout]  --> crates/domain_manager/src/storage/records.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ActiveModelTrait, ActiveValue, ColumnTrait, DatabaseConnection, EntityTrait, QueryFilter,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 |     async fn save_domain(&self, domain: &DomainModel) -> ServiceResult<()> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         domain: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `records`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         records: &[DnsRecordModel],
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_records`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:69:38
[INFO] [stdout]    |
[INFO] [stdout] 69 |     async fn load_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModel>> {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:73:40
[INFO] [stdout]    |
[INFO] [stdout] 73 |     async fn delete_domain_data(&self, domain: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |     async fn query_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModel>> {
[INFO] [stdout]    |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:61:39
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn delete_dns_record(&self, domain: &str, record_id: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:61:53
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn delete_dns_record(&self, domain: &str, record_id: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operations`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         operations: Vec<DnsOperation>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |     async fn get_domain_by_id(&self, domain_id: &str) -> ServiceResult<Option<DomainModal>> {
[INFO] [stdout]    |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_name`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:63:40
[INFO] [stdout]    |
[INFO] [stdout] 63 |     async fn get_domain_by_name(&self, domain_name: &str) -> ServiceResult<Option<DomainModal>> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:78:35
[INFO] [stdout]    |
[INFO] [stdout] 78 |     async fn delete_domain(&self, domain_id: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:83:36
[INFO] [stdout]    |
[INFO] [stdout] 83 |     async fn search_domains(&self, query: &str) -> ServiceResult<Vec<DomainModal>> {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:47:33
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn sync_domain(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModel>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domains`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |     async fn sync_all_domains(&self, domains: Vec<String>) -> ServiceResult<HashMap<String, Vec<DnsRecordModel>>> {
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:57:37
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn get_sync_status(&self, domain: &str) -> ServiceResult<SyncStatus> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:62:33
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn cancel_sync(&self, domain: Option<String>) -> ServiceResult<()> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dns_provider`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:289:43
[INFO] [stdout]     |
[INFO] [stdout] 289 |             UiUpdate::SetSelectedProvider(dns_provider) => {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dns_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:51
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                                   ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:59
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:71
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:364:36
[INFO] [stdout]     |
[INFO] [stdout] 364 |             ConfigUpdate::SetTheme(theme) => {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:264:30
[INFO] [stdout]     |
[INFO] [stdout] 264 |             filtered.retain(|d| true);
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:263:21
[INFO] [stdout]     |
[INFO] [stdout] 263 |         if let Some(provider) = &self.filter.provider {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_name`
[INFO] [stdout]    --> crates/domain_manager/src/api/provider/aliyun.rs:203:33
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn delete_dns_record(&self, domain_name: &DomainName, record_id: &str) -> Result<()> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn hash_password(password: &SecretString) -> (SecretString, String) {
[INFO] [stdout]    |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_password(password: &SecretString, stored_hash: &String, salt: &String) -> bool {
[INFO] [stdout]    |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stored_hash`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:31:49
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_password(password: &SecretString, stored_hash: &String, salt: &String) -> bool {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stored_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `salt`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:31:71
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_password(password: &SecretString, stored_hash: &String, salt: &String) -> bool {
[INFO] [stdout]    |                                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     key: &SecretString,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encrypted_data`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     encrypted_data: &SecretBox<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encrypted_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     key: &SecretBox<String>,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_name`
[INFO] [stdout]    --> crates/domain_manager/src/api/provider/aliyun.rs:231:33
[INFO] [stdout]     |
[INFO] [stdout] 231 |     fn update_dns_record(&self, domain_name: &DomainName, record: &Record) -> Result<()> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     conn: &DatabaseConnection,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     username: &str,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     password: &SecretString,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn get_api_keys(conn: &DatabaseConnection, account_id: i32) -> Result<Vec<ApiKey>, Box<dyn Error>> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:172:44
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn get_api_keys(conn: &DatabaseConnection, account_id: i32) -> Result<Vec<ApiKey>, Box<dyn Error>> {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:197:23
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn update_account(conn: &DatabaseConnection, account: &Account) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:197:50
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn update_account(conn: &DatabaseConnection, account: &Account) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     conn: &DatabaseConnection,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     account_id: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_name`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     key_name: &str,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encrypted_key`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let encrypted_key = encrypt_data(key_value, master_key)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encrypted_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:237:23
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn delete_account(conn: &DatabaseConnection, account_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:237:50
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn delete_account(conn: &DatabaseConnection, account_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> crates/domain_manager/src/storage/domains.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let result = domain::Entity::insert_many(domain_entity_list)
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> crates/domain_manager/src/storage/domains.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     conn: &DatabaseConnection,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/storage/domains.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     domain: &DnsRecord,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     conn: &DatabaseConnection,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `days`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     days: i32,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:300:22
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:300:49
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     client: &Client,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access_key_id`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     access_key_id: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_access_key_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access_key_secret`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     access_key_secret: &str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_access_key_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     version: &str,
[INFO] [stdout]    |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let priority = record_value.get("Priority")
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let line = record_value.get("Line")
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weight`
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let weight = record_value.get("Weight")
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_weight`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> crates/domain_manager/src/storage/records.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     conn: &DatabaseConnection,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/storage/records.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     domain: &DomainEntity,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/records.rs:149:22
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/records.rs:149:49
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access_key_secret`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn generate_signature(access_key_secret: &str, string_to_sign: &str) -> String {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_access_key_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `Container<'_, MessageCategory, StyleType>` to itself
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/domain_list.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             item_container = item_container;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE_SIZE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/main.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const TITLE_SIZE: u16 = 36;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE_PADDING` is never used
[INFO] [stdout]   --> crates/domain_manager/src/main.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const TITLE_PADDING: u16 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTENT_SIZE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/main.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const CONTENT_SIZE: u16 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_aliyun_domain_list` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/ali_api.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn query_aliyun_domain_list() -> Vec<DomainName> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_domain_data` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn process_domain_data(data: &Vec<Domain>) -> Result<Vec<DomainName>, TryReserveError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_aliyun_dns_list` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:156:14
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub async fn query_aliyun_dns_list(domain_name: String) -> Vec<Record> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_aliyun_dns_record` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub async fn add_aliyun_dns_record(add_dns_field: &AddDnsField) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_aliyun_dns_operation_list` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:410:14
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub async fn query_aliyun_dns_operation_list(domain_name: String) -> Vec<RecordLog> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_aliyun_dns` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:535:14
[INFO] [stdout]     |
[INFO] [stdout] 535 | pub async fn delete_aliyun_dns(record_id: String) -> Option<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DnsClientTrait` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_client.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait DnsClientTrait {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsClient` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_client.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DnsClient {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_all_domain_info` are never used
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_client.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl DnsClient {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 31 |     /// 查询域名信息
[INFO] [stdout] 32 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub async fn get_all_domain_info(&self) -> Result<Vec<Domain>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsOperateResponse` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/api/model/dns_operate.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DnsOperateResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordLogs` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct RecordLogs {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordLog` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct RecordLog {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum Action {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordDeleteResponse` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct DnsRecordDeleteResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainQueryResponse` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/api/model/domain.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DomainQueryResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/domain.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Data {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Domain` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/domain.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Domain {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainTag` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/domain.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct DomainTag {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TagElement` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/model/domain.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct TagElement {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AliyunDnsClient` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/aliyun.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct AliyunDnsClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_region`, and `call_ali_api` are never used
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/aliyun.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl AliyunDnsClient {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(access_key_id: String, access_key_secret: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn with_region(mut self, region_id: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     async fn call_ali_api(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareResponse` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct CloudflareResponse<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareError` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct CloudflareError {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareZone` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct CloudflareZone {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareDnsRecord` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct CloudflareDnsRecord {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareDnsClient` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct CloudflareDnsClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_zone_id`, `convert_cf_record_to_internal`, and `convert_internal_to_cf_record` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl CloudflareDnsClient {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn new(api_token: String, _email: String) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     async fn get_zone_id(&self, domain_name: &str) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn convert_cf_record_to_internal(cf_record: &CloudflareDnsRecord) -> Record {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn convert_internal_to_cf_record(record: &Record) -> CloudflareDnsRecord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordQuery` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_api.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DnsRecordQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateDnsRecordRequest` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_api.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct CreateDnsRecordRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateDnsRecordRequest` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct UpdateDnsRecordRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteDnsRecordRequest` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct DeleteDnsRecordRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchDeleteDnsRecordRequest` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub struct BatchDeleteDnsRecordRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordQueryResponse` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct DnsRecordQueryResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordOperationResponse` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct DnsRecordOperationResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchDnsRecordOperationResponse` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct BatchDnsRecordOperationResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsApiError` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:226:10
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub enum DnsApiError {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DnsApiTrait` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:274:11
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub trait DnsApiTrait: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordValidator` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:298:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub struct DnsRecordValidator;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl DnsRecordValidator {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] 301 |     /// 验证A记录
[INFO] [stdout] 302 |     pub fn validate_a_record(value: &str) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn validate_aaaa_record(value: &str) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn validate_cname_record(value: &str) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn validate_mx_record(value: &str, priority: Option<u32>) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn validate_txt_record(value: &str) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn validate_rr(rr: &str) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn validate_ttl(ttl: u32) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     pub fn validate_record_by_type(record_type: &Type, value: &str, priority: Option<u32>) -> Result<(), DnsApiError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiUtils` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub struct DnsApiUtils;
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `build_query_params`, `build_create_params`, `build_update_params`, `parse_api_error`, and `log_operation` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:412:12
[INFO] [stdout]     |
[INFO] [stdout] 410 | impl DnsApiUtils {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 411 |     /// 构建查询参数
[INFO] [stdout] 412 |     pub fn build_query_params(query: &DnsRecordQuery) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub fn build_create_params(request: &CreateDnsRecordRequest) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn build_update_params(request: &UpdateDnsRecordRequest) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     pub fn parse_api_error(error_code: &str, error_message: &str) -> DnsApiError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn log_operation(operation: &str, domain: &str, record_id: Option<&str>, success: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AliyunDnsApi` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/aliyun_dns_api.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct AliyunDnsApi {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_endpoint`, `call_aliyun_api`, `parse_dns_records`, and `parse_single_record` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl AliyunDnsApi {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  39 |     /// 创建新的阿里云DNS API客户端
[INFO] [stdout]  40 |     pub fn new(access_key_id: String, access_key_secret: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn with_endpoint(mut self, endpoint: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     async fn call_aliyun_api(&self, action: &str, params: HashMap<String, String>) -> Result<Value, DnsApiError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn parse_dns_records(&self, json_value: &Value) -> Result<Vec<Record>, DnsApiError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn parse_single_record(&self, record_value: &Value) -> Result<Record, DnsApiError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_domain_list`, `query_dns_operation_logs`, `set_dns_record_status`, and `get_dns_record_statistics` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:413:18
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl AliyunDnsApi {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 412 |     /// 查询域名列表
[INFO] [stdout] 413 |     pub async fn query_domain_list(&self, page_number: Option<u32>, page_size: Option<u32>) -> Result<Value, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub async fn query_dns_operation_logs(&self, domain_name: &str, page_number: Option<u32>, page_size: Option<u32>) -> Result<Value, Dn...
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub async fn set_dns_record_status(&self, record_id: &str, status: bool) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub async fn get_dns_record_statistics(&self, domain_name: &str, start_date: &str, end_date: &str) -> Result<Value, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsProvider` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_integration.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum DnsProvider {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiConfig` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_integration.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DnsApiConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsClient` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_integration.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub enum DnsClient {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiManager` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub struct DnsApiManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl DnsApiManager {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 172 |     /// 创建新的DNS API管理器
[INFO] [stdout] 173 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub async fn with_config(config: DnsApiConfig) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub async fn update_config(&self, new_config: DnsApiConfig) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub async fn get_config(&self) -> DnsApiConfig {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     async fn initialize_client(&self) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     async fn get_client(&self) -> Result<Arc<RwLock<Option<DnsClient>>>, anyhow::Error> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub async fn query_dns_records(&self, query: DnsRecordQuery) -> Result<DnsRecordQueryResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub async fn get_dns_record(&self, record_id: &str) -> Result<Record, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub async fn create_dns_record(&self, request: CreateDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub async fn update_dns_record(&self, request: UpdateDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub async fn delete_dns_record(&self, request: DeleteDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub async fn batch_delete_dns_records(&self, request: BatchDeleteDnsRecordRequest) -> Result<BatchDnsRecordOperationResponse, DnsApiE...
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub async fn validate_dns_record(&self, record_type: &crate::model::dns_record_response::Type, value: &str) -> Result<(), DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub async fn test_connection(&self) -> Result<bool, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn get_supported_record_types(&self) -> Vec<crate::model::dns_record_response::Type> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub async fn get_api_statistics(&self) -> Result<DnsApiStatistics, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiStatistics` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:432:12
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub struct DnsApiStatistics {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiFactory` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:450:12
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub struct DnsApiFactory;
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_manager`, `create_from_config_file`, and `create_aliyun_manager` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:454:18
[INFO] [stdout]     |
[INFO] [stdout] 452 | impl DnsApiFactory {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 453 |     /// 创建DNS API管理器
[INFO] [stdout] 454 |     pub async fn create_manager(config: DnsApiConfig) -> Result<DnsApiManager> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub async fn create_from_config_file(config_path: &str) -> Result<DnsApiManager> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub async fn create_aliyun_manager(access_key_id: String, access_key_secret: String) -> Result<DnsApiManager> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_cli_args` is never used
[INFO] [stdout]   --> crates/domain_manager/src/cli/mod.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn handle_cli_args() -> Task<MessageCategory> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> crates/domain_manager/src/configs/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AppConfig {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     pub server: ServerConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfigSettings` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_settings.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ConfigSettings {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `FILE_NAME`, `load`, and `store` are never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_settings.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl ConfigSettings {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 24 |     const FILE_NAME: &'static str = "settings";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn load() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn store(self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionTuple` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PositionTuple(pub f32, pub f32);
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SizeTuple` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct SizeTuple(pub f32, pub f32);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfigWindow` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ConfigWindow {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ConfigWindow {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 22 |     pub const DEFAULT_SIZE: SizeTuple = SizeTuple(1190.0, 670.0);
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 23 |     const THUMBNAIL_SIZE: SizeTuple = SizeTuple(360.0, 222.0);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |     const MIN_POS_X: f32 = -50.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 26 |     const MIN_POS_Y: f32 = -50.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 27 |     const MAX_POS_X: f32 = 1100.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 28 |     const MAX_POS_Y: f32 = 700.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     const MIN_SIZE_X: f32 = 100.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 31 |     const MIN_SIZE_Y: f32 = 100.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |     const FILE_NAME: &'static str = "window";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 34 |     #[cfg(not(test))]
[INFO] [stdout] 35 |     pub fn load() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn store(self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn thumbnail_size(factor: f64) -> SizeTuple {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToPosition` is never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub trait ToPosition {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToPoint` is never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait ToPoint {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToSize` is never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub trait ToSize {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ScaleAndCheck` is never used
[INFO] [stdout]    --> crates/domain_manager/src/configs/config_window.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ScaleAndCheck {
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]   --> crates/domain_manager/src/configs/database.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct DatabaseConfig {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     database: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_to_file` and `update_window_state` are never used
[INFO] [stdout]    --> crates/domain_manager/src/configs/gui_config.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn save_to_file(&self, file_name: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `port` is never read
[INFO] [stdout]  --> crates/domain_manager/src/configs/server.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ServerConfig {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 5 |     port: Option<u16>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ServerConfig` 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 `port` is never used
[INFO] [stdout]  --> crates/domain_manager/src/configs/server.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl ServerConfig {
[INFO] [stdout]   | ----------------- method in this implementation
[INFO] [stdout] 9 |     pub fn port(&self) -> u16 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_flag_from_country` is never used
[INFO] [stdout]   --> crates/domain_manager/src/countries/country_utils.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn get_flag_from_country<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAGS_WIDTH_SMALL` is never used
[INFO] [stdout]  --> crates/domain_manager/src/countries/flags_pictures.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const FLAGS_WIDTH_SMALL: f32 = 20.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AU` is never used
[INFO] [stdout]   --> crates/domain_manager/src/countries/flags_pictures.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const AU: &[u8] = include_bytes!("../../resources/countries_flags/4x3/au.svg");
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CA` is never used
[INFO] [stdout]   --> crates/domain_manager/src/countries/flags_pictures.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const CA: &[u8] = include_bytes!("../../resources/countries_flags/4x3/ca.svg");
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IN` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub const IN: &[u8] = include_bytes!("../../resources/countries_flags/4x3/in.svg");
[INFO] [stdout]     |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `US` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:236:11
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub const US: &[u8] = include_bytes!("../../resources/countries_flags/4x3/usa.svg");
[INFO] [stdout]     |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOME` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:253:11
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub const HOME: &[u8] = include_bytes!("../../resources/countries_flags/4x3/zz-home.svg");
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MULTICAST` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:254:11
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub const MULTICAST: &[u8] = include_bytes!("../../resources/countries_flags/4x3/zz-multicast.svg");
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BROADCAST` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:255:11
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub const BROADCAST: &[u8] = include_bytes!("../../resources/countries_flags/4x3/zz-broadcast.svg");
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMPUTER` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:257:11
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub const COMPUTER: &[u8] = include_bytes!("../../resources/countries_flags/4x3/zz-computer.svg");
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOGON` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub const BOGON: &[u8] = include_bytes!("../../resources/countries_flags/4x3/zz-bogon.svg");
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Country` is never used
[INFO] [stdout]  --> crates/domain_manager/src/countries/types/country.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum Country {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/types/country.rs:275:12
[INFO] [stdout]     |
[INFO] [stdout] 274 | impl Country {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 275 |     pub fn from_str(code: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `update`, `is_visible`, and `is_enabled` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait Component<State> {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 34 |     /// 组件名称
[INFO] [stdout] 35 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn update(&mut self, _state: &mut State, _message: MessageCategory) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn is_visible(&self, _state: &State) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn is_enabled(&self, _state: &State) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ThemeableComponent` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait ThemeableComponent<State>: Component<State> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConfigurableComponent` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub trait ConfigurableComponent<State, Config>: Component<State> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum ComponentStyle {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |     Primary,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 78 |     /// 次要样式
[INFO] [stdout] 79 |     Secondary,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 80 |     /// 成功样式
[INFO] [stdout] 81 |     Success,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 82 |     /// 警告样式
[INFO] [stdout] 83 |     Warning,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 84 |     /// 错误样式
[INFO] [stdout] 85 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 86 |     /// 信息样式
[INFO] [stdout] 87 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 88 |     /// 自定义样式
[INFO] [stdout] 89 |     Custom(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComponentStyle` 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 `Small`, `Large`, and `Custom` are never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/mod.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub enum ComponentSize {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout]  95 |     /// 小尺寸
[INFO] [stdout]  96 |     Small,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     Large,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 101 |     /// 自定义尺寸
[INFO] [stdout] 102 |     Custom(f32, f32),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ComponentSize` 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]    --> crates/domain_manager/src/gui/components/mod.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct ComponentConfig {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 108 |     /// 样式
[INFO] [stdout] 109 |     pub style: ComponentStyle,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 110 |     /// 大小
[INFO] [stdout] 111 |     pub size: ComponentSize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 112 |     /// 是否可见
[INFO] [stdout] 113 |     pub visible: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 114 |     /// 是否启用
[INFO] [stdout] 115 |     pub enabled: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 116 |     /// 透明度
[INFO] [stdout] 117 |     pub opacity: f32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 118 |     /// 边距
[INFO] [stdout] 119 |     pub margin: (f32, f32, f32, f32), // top, right, bottom, left
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 120 |     /// 内边距
[INFO] [stdout] 121 |     pub padding: (f32, f32, f32, f32), // top, right, bottom, left
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ComponentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Background` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/background.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Background {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/background.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Background {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn new(background_type: BackgroundType, opacity: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     fn get_background_path(&self) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn view<Message, Theme>(&self) -> Element<'static, Message, Theme>
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn set_background_type(&mut self, background_type: BackgroundType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn set_opacity(&mut self, opacity: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn background_type(&self) -> BackgroundType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn opacity(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `button_hide` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/button.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn button_hide<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `button_open_file` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/button.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn button_open_file<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiRequestLog` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ApiRequestLog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseQueryLog` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct DatabaseQueryLog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsoleState` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ConsoleState {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_api_log`, `add_db_log`, and `clear_logs` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl ConsoleState {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 61 |     /// 添加API请求日志
[INFO] [stdout] 62 |     pub fn add_api_log(&mut self, log: ApiRequestLog) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn add_db_log(&mut self, log: DatabaseQueryLog) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn clear_logs(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `console_view` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn console_view<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_console_header` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/console.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn create_console_header<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_api_logs_view` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/console.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn create_api_logs_view<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_db_logs_view` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/console.rs:272:4
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn create_db_logs_view<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait CredentialForm {
[INFO] [stdout]    |           -------------- method in this trait
[INFO] [stdout] 11 |     fn view(&self) -> Element<CredentialMessage, StyleType>;
[INFO] [stdout] 12 |     fn update(&mut self, message: CredentialMessage) -> Option<Credential>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_button_minimize` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:305:8
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn get_button_minimize<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thumbnail_header` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:346:4
[INFO] [stdout]     |
[INFO] [stdout] 346 | fn thumbnail_header<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_exit_overlay` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/modal.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn get_exit_overlay<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clear_all_overlay` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/modal.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn get_clear_all_overlay<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_modal_header` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/modal.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn get_modal_header<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `confirm_button_row` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/modal.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn confirm_button_row<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modal` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/modal.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn modal<'a>(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notifications_badge` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/components/tab.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn notifications_badge<'a>(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toast_notification` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/toast.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn toast_notification(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_toast` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/toast.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn with_toast<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MyModal` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/components/types/my_modal.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum MyModal {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `show_details`, `edit_mode`, and `editing_record` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct DnsRecordsComponent {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 20 |     config: ComponentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     show_details: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 25 |     edit_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     editing_record: Option<DnsRecordModal>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DnsRecordsComponent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordDisplayConfig` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct DnsRecordDisplayConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SRV` and `PTR` are never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum DnsRecordFilter {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 67 |     SRV,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 68 |     PTR,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DnsRecordFilter` 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 `matches` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl DnsRecordFilter {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn matches(&self, record_type: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_selected_record`, `set_filter_type`, `set_search_query`, `start_edit`, `cancel_edit`, and `render_record_item` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl DnsRecordsComponent {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn set_selected_record(&mut self, record_id: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn set_filter_type(&mut self, filter_type: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn set_search_query(&mut self, query: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn start_edit(&mut self, record: DnsRecordModal) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn cancel_edit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn render_record_item<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeBadgeStyle` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | struct TypeBadgeStyle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectedRecordStyle` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:584:8
[INFO] [stdout]     |
[INFO] [stdout] 584 | struct SelectedRecordStyle;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/domain_list.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct DomainListComponent {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 19 |     config: ComponentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainListComponent` 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_selected_domain`, `get_selected_domain`, and `set_show_details` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/domain_list.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl DomainListComponent {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn set_selected_domain(&mut self, domain: Option<String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn get_selected_domain(&self) -> Option<&String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn set_show_details(&mut self, show_details: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_handle` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/mod.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait EventHandler<T> {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn can_handle(&self, event: &T) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AsyncEventHandler` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/mod.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait AsyncEventHandler<T> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `update_dns_record_async` and `sync_dns_records_async` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:348:14
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl DnsHandler {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn update_dns_record_async(record: DnsRecordModal) -> Result<DnsRecordModal, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     async fn sync_dns_records_async(domain: usize) -> Result<Vec<DnsRecordModal>, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_ui` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/message_handler.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | impl MessageHandler {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 421 |     fn handle_ui(&self, state: &mut AppState, message: UiMessage) -> Task<MessageCategory> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_provider_selected` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/provider_handler.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ProviderHandler {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn handle_provider_selected(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `successful`, `cancelled`, `total_domains`, and `total_records` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/sync_handler.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct BatchSyncResult {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 33 |     pub successful: Vec<SyncResult>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 34 |     pub failed: Vec<SyncResult>,
[INFO] [stdout] 35 |     pub cancelled: Vec<SyncResult>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 36 |     pub total_domains: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub total_records: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BatchSyncResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/sync_handler.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     Failed(String),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 43 -     Failed(String),
[INFO] [stdout] 43 +     Failed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/sync_handler.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum SyncResult {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     Cancelled,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncResult` 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 `handle_sync_domain`, `handle_all_sync_complete`, and `handle_cancel_sync` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/sync_handler.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl SyncHandler {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn handle_sync_domain(&self, state: &mut AppState, domain: String) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn handle_all_sync_complete(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn handle_cancel_sync(&self, state: &mut AppState, domain: Option<String>) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_dragging`, `drag_start_position`, `last_window_position`, and `last_window_size` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct WindowHandler {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 19 |     // 窗口状态相关字段
[INFO] [stdout] 20 |     is_dragging: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 21 |     drag_start_position: Option<Point>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     last_window_position: Option<Point>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     last_window_size: Option<Size>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WindowHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowState` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum WindowState {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowOperationResult` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum WindowOperationResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl WindowHandler {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn handle_start_drag(&mut self, state: &mut AppState, id: Id) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn handle_drag_window(&mut self, state: &mut AppState, position: Point) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn handle_window_moved(&mut self, state: &mut AppState, position: Point) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn handle_window_resized(&mut self, state: &mut AppState, size: Size) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn handle_window_minimize(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn handle_window_maximize(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn handle_toggle_floating(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn handle_background_opacity_change(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn handle_background_toggle(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fn handle_window_close_request(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn get_window_state(&self, state: &AppState) -> WindowState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn get_window_position(&self) -> Option<Point> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn get_window_size(&self) -> Option<Size> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn is_dragging(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn reset_drag_state(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn save_window_settings(&self, state: &AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn load_window_settings(&mut self, state: &mut AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MutableWindowHandler` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:361:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct MutableWindowHandler {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `handle`, `get_window_state`, `save_window_settings`, and `load_window_settings` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl MutableWindowHandler {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 366 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn handle(&self, state: &mut AppState, event: WindowMessage) -> HandlerResult {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn get_window_state(&self, state: &AppState) -> WindowState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn save_window_settings(&self, state: &AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn load_window_settings(&self, state: &mut AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/icon.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const FONT:  &[u8] = include_bytes!("../../resources/icons/Icons for Domain Manager.ttf");
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/icon.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn add<'a>() -> Text<'a> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binder` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn binder<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `book` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn book<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `browse` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn browse<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camera` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn camera<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cancel` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn cancel<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `icon` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn icon(codepoint: &str) -> Text<'_> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsLogEntry` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/manager_v2.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct DnsLogEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/manager_v2.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct DomainManagerV2 {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub floating_window_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     domain_handler: DomainHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     dns_handler: DnsHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     sync_handler: SyncHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     window_handler: WindowHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     service_manager: ServiceManager,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub database: Option<Arc<RwLock<DatabaseConnection>>>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl DomainManagerV2 {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn domain_list(&self) -> Vec<crate::gui::model::domain::Domain> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn current_domain_name(&self) -> Option<&DomainModal> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn dns_list(&self) -> &Vec<DnsRecordModal> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn dns_log_list(&self) -> Vec<DnsLogEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn add_dns_form(&self) -> crate::gui::model::form::AddDnsField {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub async fn initialize(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     async fn load_initial_data(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     async fn load_domains(&self) -> Result<Vec<DomainModal>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 498 |     pub fn get_state(&self) -> &AppState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn get_state_mut(&mut self) -> &mut AppState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 508 |     pub fn is_initialized(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     pub async fn shutdown(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub async fn reload(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn get_statistics(&self) -> ManagerStatistics {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManagerStatistics` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:613:12
[INFO] [stdout]     |
[INFO] [stdout] 613 | pub struct ManagerStatistics {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ManagerError` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:626:10
[INFO] [stdout]     |
[INFO] [stdout] 626 | pub enum ManagerError {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_credential_form`, `icon`, and `features` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:57:19
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl DnsProvider {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub(crate) fn get_credential_form(&self) -> Option<Box<dyn CredentialForm>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub(crate) fn icon(&self) -> char {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub(crate) fn features(&self) -> Vec<&str> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainName` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct DomainName {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_domain_name` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:147:19
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl DomainName {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 147 |     pub(crate) fn get_domain_name(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `text` and `color` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:194:19
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl DomainStatus {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 194 |     pub(crate) fn text(&self) -> &str {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub(crate) fn color(&self) -> iced::Color {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainStats` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 | struct DomainStats {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `record_id` and `domain_name` are never read
[INFO] [stdout]  --> crates/domain_manager/src/gui/model/form.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AddDnsField {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 7 |     pub record_id: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |     pub domain_name: String,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AddDnsField` 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 `update_value` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/model/form.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl AddDnsField {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 16 |     /// update_input
[INFO] [stdout] 17 |     pub fn update_value(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `domain_list_view` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/domain.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn domain_list_view<'a>(domains: &[Domain]) -> Column<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `domain_page` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/domain.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn domain_page(app: &DomainManagerV2) -> Container<MessageCategory, StyleType> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_domain_page` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn add_domain_page<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl AddDomainProviderForm {
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] 175 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dns_record` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/domain_dns_record.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn dns_record<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_dns_record` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain_dns_record.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn add_dns_record<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn help<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_DESCRIPTION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const KEY_DESCRIPTION: &[(&str, &str)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_help_text` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn get_help_text() -> &'static Vec<(String, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `settings_page` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/settings.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn settings_page(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appearance_settings` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/settings.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn appearance_settings<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `background_type_button` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn background_type_button(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notifications_settings` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn notifications_settings<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `general_settings` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn general_settings<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RunningPage` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/pages/types/running.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum RunningPage {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ALL`, `get_tab_label`, `next`, `previous`, and `icon` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/types/running.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl RunningPage {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 21 |     pub const ALL: [RunningPage; 3] = [
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_tab_label(&self, language: Language) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn next(self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn previous(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn icon<'a>(self) -> iced::widget::Text<'a, StyleType> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Welcome` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/gui/screen/dashboard.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Welcome {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `State` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/screen/dashboard.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum State {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ServiceResult` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/mod.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum ServiceResult<T> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<T> ServiceResult<T> {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 30 |     /// 检查是否成功
[INFO] [stdout] 31 |     pub fn is_success(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn is_cancelled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn success(self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn error(self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn into_result(self) -> Result<T, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn from_result(result: Result<T, String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `initialize`, `shutdown`, and `health_check` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/mod.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub trait AsyncService {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] 84 |     /// 服务名称
[INFO] [stdout] 85 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     async fn initialize(&mut self) -> ServiceResult<()>;
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     async fn shutdown(&mut self) -> ServiceResult<()>;
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     async fn health_check(&self) -> ServiceResult<bool>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:101:14
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub trait DomainServiceTrait: AsyncService {
[INFO] [stdout]     |           ------------------ methods in this trait
[INFO] [stdout] 100 |     /// 获取所有域名
[INFO] [stdout] 101 |     async fn get_all_domains(&self) -> ServiceResult<Vec<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     async fn get_domain_by_id(&self, domain_id: &str) -> ServiceResult<Option<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     async fn get_domain_by_name(&self, domain_name: &str) -> ServiceResult<Option<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     async fn add_domain(&self, domain: DomainModal) -> ServiceResult<DomainModal>;
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     async fn update_domain(&self, domain: DomainModal) -> ServiceResult<DomainModal>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn delete_domain(&self, domain_id: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn search_domains(&self, query: &str) -> ServiceResult<Vec<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_dns_records`, `add_dns_record`, `update_dns_record`, `delete_dns_record`, and `batch_dns_operations` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub trait DnsServiceTrait: AsyncService {
[INFO] [stdout]     |           --------------- methods in this trait
[INFO] [stdout] 125 |     /// 查询域名的DNS记录
[INFO] [stdout] 126 |     async fn query_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     async fn add_dns_record(&self, record: DnsRecordModal) -> ServiceResult<DnsRecordModal>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     async fn update_dns_record(&self, record: DnsRecordModal) -> ServiceResult<DnsRecordModal>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     async fn delete_dns_record(&self, domain: &str, record_id: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     async fn batch_dns_operations(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sync_domain`, `sync_all_domains`, `get_sync_status`, and `cancel_sync` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub trait SyncServiceTrait: AsyncService {
[INFO] [stdout]     |           ---------------- methods in this trait
[INFO] [stdout] 147 |     /// 同步单个域名
[INFO] [stdout] 148 |     async fn sync_domain(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     async fn sync_all_domains(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     async fn get_sync_status(&self, domain: &str) -> ServiceResult<SyncStatus>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     async fn cancel_sync(&self, domain: Option<String>) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_domain`, `save_dns_records`, `load_domains`, `load_dns_records`, `delete_domain_data`, and `cleanup_expired_data` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub trait DatabaseServiceTrait: AsyncService {
[INFO] [stdout]     |           -------------------- methods in this trait
[INFO] [stdout] 166 |     /// 保存域名
[INFO] [stdout] 167 |     async fn save_domain(&self, domain: &DomainModal) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     async fn save_dns_records(&self, domain: &str, records: &[DnsRecordModal])
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     async fn load_domains(&self) -> ServiceResult<Vec<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     async fn load_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     async fn delete_domain_data(&self, domain: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     async fn cleanup_expired_data(&self) -> ServiceResult<usize>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub trait ConfigServiceTrait: AsyncService {
[INFO] [stdout]     |           ------------------ methods in this trait
[INFO] [stdout] 189 |     async fn load_config(&self) -> ServiceResult<AppConfig>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 190 |
[INFO] [stdout] 191 |     async fn save_config(&self);
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     async fn get_config_string(&self, key: &str) -> ServiceResult<Option<String>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     async fn set_config_string(&self, key: &str, value: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     async fn get_config_json(&self, key: &str) -> ServiceResult<Option<serde_json::Value>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     async fn set_config_json(&self, key: &str, value: &serde_json::Value) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     async fn remove_config(&self, key: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     async fn get_all_configs(&self) -> ServiceResult<HashMap<String, serde_json::Value>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     async fn save_to_file(&self, path: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     async fn load_from_file(&self, path: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsOperation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:220:10
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub enum DnsOperation {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsOperationResult` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub enum DnsOperationResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SyncStatus` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub enum SyncStatus {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `domain_service`, `dns_service`, `sync_service`, `database_service`, and `config_service` are never read
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub struct ServiceManager {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 254 |     domain_service: Box<dyn DomainServiceTrait + Send + Sync>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 255 |     dns_service: Box<dyn DnsServiceTrait + Send + Sync>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 256 |     sync_service: Box<dyn SyncServiceTrait + Send + Sync>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 257 |     database_service: Box<dyn DatabaseServiceTrait + Send + Sync>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 258 |     config_service: Box<dyn ConfigServiceTrait + Send + Sync>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl ServiceManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn domain_service(&self) -> &dyn DomainServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn dns_service(&self) -> &dyn DnsServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn sync_service(&self) -> &dyn SyncServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn database_service(&self) -> &dyn DatabaseServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn config_service(&self) -> &dyn ConfigServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub async fn initialize_all(&mut self) -> ServiceResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub async fn shutdown_all(&mut self) -> ServiceResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub async fn health_check_all(&self) -> ServiceResult<HashMap<String, bool>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `config_path` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/config_service.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ConfigService {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 38 |     config: AppConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 39 |     config_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigService` 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 `set_config_path` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/config_service.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl ConfigService {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn set_config_path(&mut self, path: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DatabaseService {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     connection: Option<DatabaseConnection>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseService` 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 `set_connection` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl DatabaseService {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn set_connection(&mut self, connection: DatabaseConnection) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `initialized`, and `version` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/state/app_state.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub config: Config,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub initialized: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub version: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` 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 `SetMessage`, `HideToast`, `SetSyncing`, `ToggleFloatingMode`, `ToggleFloatingWindow`, and `ToggleThumbnail` are never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:72:5
[INFO] [stdout]     |
[INFO] [stdout]  58 | pub enum UiUpdate {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  72 |     SetMessage(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     HideToast,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     SetSyncing(bool),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     ToggleFloatingMode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     ToggleFloatingWindow,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     ToggleThumbnail,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UiUpdate` 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 `AddDomain`, `RemoveDomain`, `SetSearchContent`, and `Clear` are never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub enum DataUpdate {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 141 |     AddDomain(DomainModel),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     RemoveDomain(usize),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     SetSearchContent(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     Clear,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataUpdate` 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 `0` and `1` are never read
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 |     UpdateWindowConfig(Size, Point),
[INFO] [stdout]     |     ------------------ ^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConfigUpdate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 169 -     UpdateWindowConfig(Size, Point),
[INFO] [stdout] 169 +     UpdateWindowConfig((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SetTheme` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum ConfigUpdate {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 163 |     SetTheme(Theme),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConfigUpdate` 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 associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl AppState {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn with_config(config: Config) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn initialize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn get_selected_domain(&self) -> Option<&DomainModel> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn get_filtered_domains(&self) -> Vec<DomainModel> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn has_unsaved_changes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn get_status_summary(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn is_ready(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StateManager` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:415:11
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub trait StateManager {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `console_tab`, `window_maximized`, `filter`, and `id` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/state/ui_state.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct UiState {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub console_tab: ConsoleTab,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub window_maximized: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub filter: Filter,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub id: Option<Id>,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `switch_console_tab`, `toggle_window_maximized`, `toggle_window_minimize`, and `update_window_state` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/ui_state.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl UiState {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 122 |     /// 创建新的UI状态
[INFO] [stdout] 123 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn switch_console_tab(&mut self, tab: ConsoleTab) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn toggle_window_maximized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub(crate) fn toggle_window_minimize(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/state/data_state.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DataState {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub connection: Option<DatabaseConnection>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataState` 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 `dns_records_count` is never read
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout]  88 | pub struct DomainStats {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub dns_records_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DomainStats` 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 associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl DataState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 147 |     /// 创建新的数据状态
[INFO] [stdout] 148 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn set_dns_records(&mut self, domain_id: usize, records: Vec<DnsRecordModal>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn add_dns_record(&mut self, domain_name: usize, record: DnsRecordModal) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn remove_dns_record(&mut self, domain_id: usize, record_id: i64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn set_filter(&mut self, filter: Filter) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_filtered_domains(&self) -> Vec<DomainModal> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn mark_saved(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn set_last_sync_time(&mut self, time: chrono::DateTime<chrono::Utc>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn has_unsaved_changes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn is_syncing(&self, domain_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn clear_syncing_states(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContainerStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/container.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ContainerStyle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIMARY_MODERN_DARK` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PRIMARY_MODERN_DARK: Color = Color {
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDARY_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const SECONDARY_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCENT_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const ACCENT_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_DARK_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const MODERN_DARK_PALETTE: Palette = Palette {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUTTONS_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const BUTTONS_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED_ALERT_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const RED_ALERT_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_DARK_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const MODERN_DARK_PALETTE_EXTENSION: PaletteExtension = PaletteExtension {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIMARY_MODERN_LIGHT` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:80:7
[INFO] [stdout]    |
[INFO] [stdout] 80 | const PRIMARY_MODERN_LIGHT: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDARY_MODERN_LIGHT` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const SECONDARY_MODERN_LIGHT: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCENT_MODERN_LIGHT` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const ACCENT_MODERN_LIGHT: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_LIGHT_PALETTE` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const MODERN_LIGHT_PALETTE: Palette = Palette {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUTTONS_MODERN_LIGHT` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 | const BUTTONS_MODERN_LIGHT: Color = Color {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED_ALERT_MODERN_LIGHT` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 | const RED_ALERT_MODERN_LIGHT: Color = Color {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_LIGHT_PALETTE_EXTENSION` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:139:11
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub const MODERN_LIGHT_PALETTE_EXTENSION: PaletteExtension = PaletteExtension {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `danger_btn` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/custom_themes/theme.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn danger_btn(_theme: &Theme, status: Status) -> Style {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DonutType` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/donut.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum DonutType {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `active` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/donut.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DonutType {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 11 |     #[allow(clippy::unused_self)]
[INFO] [stdout] 12 |     fn active(&self, style: &StyleType) -> Style {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Style` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/donut.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Style {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Catalog` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/donut.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait Catalog: Sized {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMOJI_FONT` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/fonts/emoji.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const EMOJI_FONT: Font = Font::with_name("Noto Emoji");
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_SIZE_SUBTITLE` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/style_constants.rs:233:11
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub const FONT_SIZE_SUBTITLE: f32 = 18.3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_SIZE_TITLE` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/style_constants.rs:234:11
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub const FONT_SIZE_TITLE: f32 = 19.9;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHARTS_LINE_BORDER` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/style_constants.rs:238:11
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub const CHARTS_LINE_BORDER: u32 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_rgb_color` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/types/palette.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn to_rgb_color(color: Color) -> RGBColor {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SidebarStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct SidebarStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BadgeStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct BadgeStyle;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatCardStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct StatCardStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainRowStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct DomainRowStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectedDomainRowStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct SelectedDomainRowStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_DARK_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub static A11Y_DARK_PALETTE: std::sync::LazyLock<Palette> = std::sync::LazyLock::new(|| Palette {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_DARK_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub static A11Y_DARK_PALETTE_EXTENSION: std::sync::LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_LIGHT_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub static A11Y_LIGHT_PALETTE: std::sync::LazyLock<Palette> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_LIGHT_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub static A11Y_LIGHT_PALETTE_EXTENSION: std::sync::LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_DARK_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub static DRACULA_DARK_PALETTE: LazyLock<Palette> = LazyLock::new(|| Palette {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_DARK_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub static DRACULA_DARK_PALETTE_EXTENSION: LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_LIGHT_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub static DRACULA_LIGHT_PALETTE: LazyLock<Palette> = LazyLock::new(|| Palette {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_LIGHT_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub static DRACULA_LIGHT_PALETTE_EXTENSION: LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASN_MMDB` is never used
[INFO] [stdout]  --> crates/domain_manager/src/mmdb/asn.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const ASN_MMDB: &[u8] = include_bytes!("../../resources/DB/GeoLite2-ASN.mmdb");
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_asn` is never used
[INFO] [stdout]  --> crates/domain_manager/src/mmdb/asn.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_asn(address: &IpAddr, asn_db_reader: &MmdbReader) -> Asn {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COUNTRY_MMDB` is never used
[INFO] [stdout]  --> crates/domain_manager/src/mmdb/country.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const COUNTRY_MMDB: &[u8] = include_bytes!("../../resources/DB/GeoLite2-Country.mmdb");
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_country` is never used
[INFO] [stdout]  --> crates/domain_manager/src/mmdb/country.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn get_country(address: &IpAddr, country_db_reader: &MmdbReader) -> Country {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Asn` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/mmdb/types/asn.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Asn {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MmdbAsnEntry` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/mmdb/types/mmdb_asn_entry.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MmdbAsnEntry<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_asn` is never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_asn_entry.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MmdbAsnEntry<'_> {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 13 |     pub fn get_asn(&self) -> Asn {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MmdbAsnCode` is never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_asn_entry.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum MmdbAsnCode<'a> {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_code` is never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_asn_entry.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl MmdbAsnCode<'_> {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 29 |     fn get_code(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MmdbCountryEntry` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/mmdb/types/mmdb_country_entry.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MmdbCountryEntry<'a> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_country` is never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_country_entry.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl MmdbCountryEntry<'_> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] 13 |     pub fn get_country(&self) -> Country {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MmdbCountryEntryInner` is never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_country_entry.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | enum MmdbCountryEntryInner<'a> {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_country` is never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_country_entry.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl MmdbCountryEntryInner<'_> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] 28 |     fn get_country(&self) -> Country {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StandardCountryEntry` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_country_entry.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct StandardCountryEntry<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StandardCountryEntryInner` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_country_entry.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct StandardCountryEntryInner<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IpinfoCountryEntry` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_country_entry.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct IpinfoCountryEntry<'a> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MmdbReaders` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_reader.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MmdbReaders {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MmdbReader` is never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_reader.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum MmdbReader {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from` and `lookup` are never used
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_reader.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl MmdbReader {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn from(mmdb_path: &String, default_mmdb: &'static [u8]) -> MmdbReader {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn lookup<'a, T: Deserialize<'a>>(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordResponse` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/model/dns_record_response.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct DnsRecordResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainRecords` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/model/dns_record_response.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct DomainRecords {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TimeUnit` is never used
[INFO] [stdout]    --> crates/domain_manager/src/model/dns_record_response.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum TimeUnit {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewApiKey` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/models/account.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct NewApiKey {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DomainStatus` is never used
[INFO] [stdout]  --> crates/domain_manager/src/models/record.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum DomainStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notifications` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/notifications/types/notifications.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Notifications {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FavoriteNotification` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/notifications.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct FavoriteNotification {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `on` and `off` are never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/notifications.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl FavoriteNotification {
[INFO] [stdout]    | ------------------------- associated functions in this implementation
[INFO] [stdout] 42 |     /// Constructor when the notification is in use
[INFO] [stdout] 43 |     pub fn on(sound: Sound) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn off(sound: Sound) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Sound` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Sound {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GULP` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const GULP: &[u8] = include_bytes!("../../../resources/sounds/gulp.mp3");
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POP` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const POP: &[u8] = include_bytes!("../../../resources/sounds/pop.mp3");
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SWOOSH` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const SWOOSH: &[u8] = include_bytes!("../../../resources/sounds/swoosh.mp3");
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ALL`, `mp3_sound`, and `get_text` are never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Sound {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 31 |     pub(crate) const ALL: [Sound; 4] = [Gulp, Pop, Swoosh, Sound::None];
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |     fn mp3_sound(self) -> &'static [u8] {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_text<'a>(self, font: Font) -> Text<'a, StyleType> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn play(sound: Sound, volume: u8) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CURRENT_DB_VERSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/storage/database.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CURRENT_DB_VERSION: u32 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_api_keys` is never used
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn get_api_keys(conn: &DatabaseConnection, account_id: i32) -> Result<Vec<ApiKey>, Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ApiSecret` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/storage/migration/m20250712_000001_create_account_table.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum Accounts {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     ApiSecret,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_adapters_translation` is never used
[INFO] [stdout]  --> crates/domain_manager/src/translations/translations.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn choose_adapters_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_filters_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn select_filters_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn start_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `address_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn address_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `addresses_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn addresses_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ip_version_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn ip_version_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `protocol_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn protocol_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `traffic_rate_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn traffic_rate_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `settings_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn settings_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yes_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn yes_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_quit_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn ask_quit_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_clear_all_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn ask_clear_all_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_all_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn clear_all_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hide_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:447:8
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub fn hide_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `network_adapter_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:474:8
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub fn network_adapter_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_addresses_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:501:8
[INFO] [stdout]     |
[INFO] [stdout] 501 | pub fn no_addresses_translation<'a>(language: Language, adapter: &str) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `waiting_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:616:8
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub fn waiting_translation<'a>(language: Language, adapter: &str) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_observed_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:731:8
[INFO] [stdout]     |
[INFO] [stdout] 731 | pub fn some_observed_translation<'a>(language: Language, observed: u128) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1006:8
[INFO] [stdout]      |
[INFO] [stdout] 1006 | pub fn error_translation(language: Language, error: &str) -> Text<StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `packets_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1167:8
[INFO] [stdout]      |
[INFO] [stdout] 1167 | pub fn packets_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1219:8
[INFO] [stdout]      |
[INFO] [stdout] 1219 | pub fn bytes_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notifications_title_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1371:8
[INFO] [stdout]      |
[INFO] [stdout] 1371 | pub fn notifications_title_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appearance_title_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1398:8
[INFO] [stdout]      |
[INFO] [stdout] 1398 | pub fn appearance_title_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_filters_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1425:8
[INFO] [stdout]      |
[INFO] [stdout] 1425 | pub fn active_filters_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `none_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1452:8
[INFO] [stdout]      |
[INFO] [stdout] 1452 | pub fn none_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `incoming_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1586:8
[INFO] [stdout]      |
[INFO] [stdout] 1586 | pub fn incoming_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `outgoing_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1612:8
[INFO] [stdout]      |
[INFO] [stdout] 1612 | pub fn outgoing_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `language_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1684:8
[INFO] [stdout]      |
[INFO] [stdout] 1684 | pub fn language_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overview_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1711:8
[INFO] [stdout]      |
[INFO] [stdout] 1711 | pub fn overview_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `per_second_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1792:8
[INFO] [stdout]      |
[INFO] [stdout] 1792 | pub fn per_second_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threshold_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1872:8
[INFO] [stdout]      |
[INFO] [stdout] 1872 | pub fn threshold_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `volume_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1899:8
[INFO] [stdout]      |
[INFO] [stdout] 1899 | pub fn volume_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sound_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1922:8
[INFO] [stdout]      |
[INFO] [stdout] 1922 | pub fn sound_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_exceeded_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1947:8
[INFO] [stdout]      |
[INFO] [stdout] 1947 | pub fn bytes_exceeded_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_exceeded_value_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1974:8
[INFO] [stdout]      |
[INFO] [stdout] 1974 | pub fn bytes_exceeded_value_translation(language: Language, value: &str) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let config = self.get_config().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `packets_exceeded_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2001:8
[INFO] [stdout]      |
[INFO] [stdout] 2001 | pub fn packets_exceeded_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `packets_exceeded_value_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2028:8
[INFO] [stdout]      |
[INFO] [stdout] 2028 | pub fn packets_exceeded_value_translation(language: Language, value: u32) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `favorite_transmitted_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2079:8
[INFO] [stdout]      |
[INFO] [stdout] 2079 | pub fn favorite_transmitted_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_notifications_set_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2107:8
[INFO] [stdout]      |
[INFO] [stdout] 2107 | pub fn no_notifications_set_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_notifications_received_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2220:8
[INFO] [stdout]      |
[INFO] [stdout] 2220 | pub fn no_notifications_received_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `only_last_30_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2313:8
[INFO] [stdout]      |
[INFO] [stdout] 2313 | pub fn only_last_30_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inspect_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_2.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn inspect_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connection_details_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_2.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn connection_details_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dropped_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_2.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn dropped_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data_representation_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn data_representation_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn host_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `only_top_30_items_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn only_top_30_items_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `local_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn local_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unknown_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn unknown_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `your_network_adapter_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub fn your_network_adapter_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `socket_address_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn socket_address_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mac_address_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn mac_address_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn source_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `destination_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:381:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub fn destination_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fqdn_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:406:8
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub fn fqdn_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `administrative_entity_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub fn administrative_entity_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transmitted_data_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:459:8
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub fn transmitted_data_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `country_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn country_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `domain_name_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:512:8
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub fn domain_name_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `only_show_favorites_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:539:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub fn only_show_favorites_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_search_results_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:592:8
[INFO] [stdout]     |
[INFO] [stdout] 592 | pub fn no_search_results_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `showing_results_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:619:8
[INFO] [stdout]     |
[INFO] [stdout] 619 | pub fn showing_results_translation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zoom_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_3.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn zoom_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mmdb_files_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_3.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn mmdb_files_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `params_not_editable_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_3.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn params_not_editable_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `custom_style_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn custom_style_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn copy_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `port_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn port_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_filters_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn invalid_filters_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `messages_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn messages_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `link_type_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn link_type_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unsupported_link_type_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn unsupported_link_type_translation<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_host_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn filter_by_host_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `service_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:402:8
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub fn service_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_capture_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub fn export_capture_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `directory_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub fn directory_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `file_name_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:499:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub fn file_name_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thumbnail_mode_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:524:8
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub fn thumbnail_mode_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `learn_more_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 549 | pub fn learn_more_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reserved_address_translation` is never used
[INFO] [stdout]  --> crates/domain_manager/src/translations/translations_4.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn reserved_address_translation(language: Language, info: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `excluded_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_4.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn excluded_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_api` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub async fn call_api(
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_signature` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn generate_signature(access_key_secret: &str, string_to_sign: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_request_url` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn build_request_url(endpoint: &str, params: &HashMap<String, String>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ErrorLogger` is never used
[INFO] [stdout]  --> crates/domain_manager/src/utils/error_logger.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait ErrorLogger<T, E> {
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Location` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/utils/error_logger.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Location {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_cli_welcome_message` is never used
[INFO] [stdout]  --> crates/domain_manager/src/utils/formatted_strings.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn print_cli_welcome_message() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_domain_from_r_dns` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/formatted_strings.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn get_domain_from_r_dns(r_dns: String) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_socket_address` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/formatted_strings.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn get_socket_address(address: &IpAddr, port: Option<u16>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_termination_string` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/formatted_strings.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn get_path_termination_string(full_path: &str, i: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_formatted_num_seconds` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/formatted_strings.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn get_formatted_num_seconds(num_seconds: u128) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_formatted_timestamp` is never used
[INFO] [stdout]    --> crates/domain_manager/src/utils/formatted_strings.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn get_formatted_timestamp(t: DateTime<Local>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> crates/domain_manager/src/utils/types/icon.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum Icon {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  7 |     ArrowBack,
[INFO] [stdout]  8 |     ArrowLeft,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  9 |     ArrowRight,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     ArrowsDown,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 11 |     AudioHigh,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     AudioMute,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 13 |     Bin,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 14 |     Book,
[INFO] [stdout] 15 |     BytesThreshold,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     Clock,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Copy,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     File,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     Forbidden,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 23 |     Funnel,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Hourglass1,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     Hourglass2,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 29 |     Hourglass3,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 30 |     Image,
[INFO] [stdout] 31 |     Inspect,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 32 |     Moon,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Overview,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 37 |     PacketsThreshold,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     Restore,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Rocket,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     Settings,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 41 |     DomainManager,
[INFO] [stdout] 42 |     SortAscending,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 43 |     SortDescending,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     SortNeutral,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 45 |     Star,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     Sun,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 47 |     ThumbnailOpen,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     ThumbnailClose,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     Update,
[INFO] [stdout] 50 |     Warning,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 51 |     Waves,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     Bell,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 60 |     /// 导出图标
[INFO] [stdout] 61 |     Export,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 62 |     /// 导入图标
[INFO] [stdout] 63 |     Import,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 64 |     /// 终端图标
[INFO] [stdout] 65 |     Terminal,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 66 |     /// 窗口图标
[INFO] [stdout] 67 |     Window,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn view_with_theme(&self, state: &State, theme: &Theme) -> Element<MessageCategory>;
[INFO] [stdout]    |                        ^^^^^ the lifetime is elided here       ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn view_with_theme(&self, state: &State, theme: &Theme) -> Element<'_, MessageCategory>;
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn view(&self) -> Element<CredentialMessage, StyleType>;
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn view(&self) -> Element<CredentialMessage, StyleType> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn view(&self) -> Element<CredentialMessage, StyleType> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn view(&self) -> Element<CredentialMessage, StyleType> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/toast.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |     message: &str,
[INFO] [stdout]    |              ^^^^ the lifetime is elided here
[INFO] [stdout] 21 |     show: bool,
[INFO] [stdout] 22 | ) -> Option<Element<MessageCategory, StyleType>> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 | ) -> Option<Element<'_, MessageCategory, StyleType>> {
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:165:26
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn render_filter_bar(&self, _state: &State) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                          ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn render_filter_bar(&self, _state: &State) -> Element<'_, MessageCategory, StyleType> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:426:27
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn render_empty_state(&self, domain: Option<&str>) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                           ^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn render_empty_state(&self, domain: Option<&str>) -> Element<'_, MessageCategory, StyleType> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:452:29
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn render_loading_state(&self) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn render_loading_state(&self) -> Element<'_, MessageCategory, StyleType> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/domain_list.rs:167:27
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn render_empty_state(&self) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn render_empty_state(&self) -> Element<'_, MessageCategory, StyleType> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/domain_list.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn render_loading_state(&self) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 187 |     fn render_loading_state(&self) -> Element<'_, MessageCategory, StyleType> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/domain_list.rs:204:27
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn render_error_state(&self, error: &str) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                           ^^^^^                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn render_error_state(&self, error: &str) -> Element<'_, MessageCategory, StyleType> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `App` should have a snake case name
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:304:37
[INFO] [stdout]     |
[INFO] [stdout] 304 |         if let MessageCategory::App(App) = message {
[INFO] [stdout]     |                                     ^^^ help: convert the identifier to snake case: `app`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/domain.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn domain_page(app: &DomainManagerV2) -> Container<MessageCategory, StyleType> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn domain_page(app: &DomainManagerV2) -> Container<'_, MessageCategory, StyleType> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/types/credential.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn view(&self) -> Element<CredentialMessage, StyleType> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn view(&self) -> Element<'_, CredentialMessage, StyleType> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1006:53
[INFO] [stdout]      |
[INFO] [stdout] 1006 | pub fn error_translation(language: Language, error: &str) -> Text<StyleType> {
[INFO] [stdout]      |                                                     ^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1006 | pub fn error_translation(language: Language, error: &str) -> Text<'_, StyleType> {
[INFO] [stdout]      |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open_overlay`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     open_overlay: SettingsPage,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_open_overlay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `open_overlay`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     open_overlay: SettingsPage,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_open_overlay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 240 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:241:5
[INFO] [stdout]     |
[INFO] [stdout] 241 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 267 |     font: Font,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_background`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:271:25
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let (icon, tooltip, next_background) = match current_background {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_background`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_active`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:179:21
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 let is_active = match &self.filter_type {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_color`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let type_color = match record.record_type.as_str() {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_color`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:320:17
[INFO] [stdout]     |
[INFO] [stdout] 320 |             let type_color = match record.record_type.as_str() {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_color`
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:335:17
[INFO] [stdout]     |
[INFO] [stdout] 335 |             let status_color = if record.enabled {
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status_color`
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/domain_list.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let status_color = match domain.status.as_str() {
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:338:38
[INFO] [stdout]     |
[INFO] [stdout] 338 |     async fn delete_dns_record_async(domain_id: usize, record_id: usize) -> Result<(), String> {
[INFO] [stdout]     |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_id`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:338:56
[INFO] [stdout]     |
[INFO] [stdout] 338 |     async fn delete_dns_record_async(domain_id: usize, record_id: usize) -> Result<(), String> {
[INFO] [stdout]     |                                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:438:26
[INFO] [stdout]     |
[INFO] [stdout] 438 |     fn can_handle(&self, event: &DnsMessage) -> bool {
[INFO] [stdout]     |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/domain_handler.rs:226:25
[INFO] [stdout]     |
[INFO] [stdout] 226 |                     let provider = DomainProvider {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/sync_handler.rs:396:21
[INFO] [stdout]     |
[INFO] [stdout] 396 |                 Ok((domain, result)) => match result {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:62:59
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn handle_start_drag(&mut self, state: &mut AppState, id: Id) -> HandlerResult {
[INFO] [stdout]    |                                                           ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:311:36
[INFO] [stdout]     |
[INFO] [stdout] 311 |             WindowMessage::Resized(size) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:313:39
[INFO] [stdout]     |
[INFO] [stdout] 313 |             WindowMessage::DragWindow(position) => {
[INFO] [stdout]     |                                       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:329:42
[INFO] [stdout]     |
[INFO] [stdout] 329 |             WindowMessage::WindowResized(size) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_maximized`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:336:43
[INFO] [stdout]     |
[INFO] [stdout] 336 |             WindowMessage::WindowMaximize(is_maximized) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_maximized`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opacity`
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:338:52
[INFO] [stdout]     |
[INFO] [stdout] 338 |             WindowMessage::BackgroundOpacityChange(opacity) => HandlerResult::StateUpdated,
[INFO] [stdout]     |                                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opacity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `App`
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:304:37
[INFO] [stdout]     |
[INFO] [stdout] 304 |         if let MessageCategory::App(App) = message {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_App`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let mut manager = DomainManagerV2::default();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `manager`
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:656:13
[INFO] [stdout]     |
[INFO] [stdout] 656 |         let mut manager = DomainManagerV2::default();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn add_domain_page<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn help<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/settings.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     language: Language,
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `language`
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 248 |     language: Language,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_language`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/config_service.rs:98:39
[INFO] [stdout]    |
[INFO] [stdout] 98 |     async fn get_config_string(&self, key: &str) -> ServiceResult<Option<String>> {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:103:39
[INFO] [stdout]     |
[INFO] [stdout] 103 |     async fn set_config_string(&self, key: &str, value: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:103:50
[INFO] [stdout]     |
[INFO] [stdout] 103 |     async fn set_config_string(&self, key: &str, value: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:108:37
[INFO] [stdout]     |
[INFO] [stdout] 108 |     async fn get_config_json(&self, key: &str) -> ServiceResult<Option<serde_json::Value>> {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |     async fn set_config_json(&self, key: &str, value: &serde_json::Value) -> ServiceResult<()> {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:113:48
[INFO] [stdout]     |
[INFO] [stdout] 113 |     async fn set_config_json(&self, key: &str, value: &serde_json::Value) -> ServiceResult<()> {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:118:35
[INFO] [stdout]     |
[INFO] [stdout] 118 |     async fn remove_config(&self, key: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:128:34
[INFO] [stdout]     |
[INFO] [stdout] 128 |     async fn save_to_file(&self, path: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/config_service.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     async fn load_from_file(&self, path: &str) -> ServiceResult<()> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:51:33
[INFO] [stdout]    |
[INFO] [stdout] 51 |     async fn save_domain(&self, domain: &DomainModel) -> ServiceResult<()> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         domain: &str,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `records`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         records: &[DnsRecordModel],
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_records`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:69:38
[INFO] [stdout]    |
[INFO] [stdout] 69 |     async fn load_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModel>> {
[INFO] [stdout]    |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:73:40
[INFO] [stdout]    |
[INFO] [stdout] 73 |     async fn delete_domain_data(&self, domain: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |     async fn query_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModel>> {
[INFO] [stdout]    |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:61:39
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn delete_dns_record(&self, domain: &str, record_id: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:61:53
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn delete_dns_record(&self, domain: &str, record_id: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operations`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/dns_service.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         operations: Vec<DnsOperation>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:58:38
[INFO] [stdout]    |
[INFO] [stdout] 58 |     async fn get_domain_by_id(&self, domain_id: &str) -> ServiceResult<Option<DomainModal>> {
[INFO] [stdout]    |                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_name`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:63:40
[INFO] [stdout]    |
[INFO] [stdout] 63 |     async fn get_domain_by_name(&self, domain_name: &str) -> ServiceResult<Option<DomainModal>> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:78:35
[INFO] [stdout]    |
[INFO] [stdout] 78 |     async fn delete_domain(&self, domain_id: &str) -> ServiceResult<()> {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/domain_service.rs:83:36
[INFO] [stdout]    |
[INFO] [stdout] 83 |     async fn search_domains(&self, query: &str) -> ServiceResult<Vec<DomainModal>> {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:47:33
[INFO] [stdout]    |
[INFO] [stdout] 47 |     async fn sync_domain(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModel>> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domains`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |     async fn sync_all_domains(&self, domains: Vec<String>) -> ServiceResult<HashMap<String, Vec<DnsRecordModel>>> {
[INFO] [stdout]    |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domains`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:57:37
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn get_sync_status(&self, domain: &str) -> ServiceResult<SyncStatus> {
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/sync_service.rs:62:33
[INFO] [stdout]    |
[INFO] [stdout] 62 |     async fn cancel_sync(&self, domain: Option<String>) -> ServiceResult<()> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dns_provider`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:289:43
[INFO] [stdout]     |
[INFO] [stdout] 289 |             UiUpdate::SetSelectedProvider(dns_provider) => {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dns_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:43
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:51
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                                   ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:59
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:353:71
[INFO] [stdout]     |
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:364:36
[INFO] [stdout]     |
[INFO] [stdout] 364 |             ConfigUpdate::SetTheme(theme) => {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:264:30
[INFO] [stdout]     |
[INFO] [stdout] 264 |             filtered.retain(|d| true);
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:263:21
[INFO] [stdout]     |
[INFO] [stdout] 263 |         if let Some(provider) = &self.filter.provider {
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> crates/domain_manager/src/storage/domains.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let result = domain::Entity::insert_many(domain_entity_list)
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn hash_password(password: &SecretString) -> (SecretString, String) {
[INFO] [stdout]    |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_password(password: &SecretString, stored_hash: &String, salt: &String) -> bool {
[INFO] [stdout]    |                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stored_hash`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:31:49
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_password(password: &SecretString, stored_hash: &String, salt: &String) -> bool {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stored_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `salt`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:31:71
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn verify_password(password: &SecretString, stored_hash: &String, salt: &String) -> bool {
[INFO] [stdout]    |                                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_salt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     key: &SecretString,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encrypted_data`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     encrypted_data: &SecretBox<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encrypted_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> crates/domain_manager/src/storage/encryption.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     key: &SecretBox<String>,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     conn: &DatabaseConnection,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `username`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     username: &str,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `password`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     password: &SecretString,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn get_api_keys(conn: &DatabaseConnection, account_id: i32) -> Result<Vec<ApiKey>, Box<dyn Error>> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:172:44
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn get_api_keys(conn: &DatabaseConnection, account_id: i32) -> Result<Vec<ApiKey>, Box<dyn Error>> {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:197:23
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn update_account(conn: &DatabaseConnection, account: &Account) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:197:50
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn update_account(conn: &DatabaseConnection, account: &Account) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     conn: &DatabaseConnection,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     account_id: i32,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_name`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     key_name: &str,
[INFO] [stdout]     |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encrypted_key`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let encrypted_key = encrypt_data(key_value, master_key)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encrypted_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:237:23
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn delete_account(conn: &DatabaseConnection, account_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:237:50
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn delete_account(conn: &DatabaseConnection, account_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> crates/domain_manager/src/storage/domains.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     conn: &DatabaseConnection,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/storage/domains.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     domain: &DnsRecord,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     conn: &DatabaseConnection,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `days`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:254:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |     days: i32,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_days`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:300:22
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/domains.rs:300:49
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> crates/domain_manager/src/storage/records.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     conn: &DatabaseConnection,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]   --> crates/domain_manager/src/storage/records.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     domain: &DomainEntity,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/storage/records.rs:149:22
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain_id`
[INFO] [stdout]    --> crates/domain_manager/src/storage/records.rs:149:49
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn delete_domain(conn: &DatabaseConnection, domain_id: i32) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `access_key_secret`
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn generate_signature(access_key_secret: &str, string_to_sign: &str) -> String {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_access_key_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/tests/dns_sync_tests.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     account_id: i64,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aliyun_client`
[INFO] [stdout]    --> crates/domain_manager/src/tests/dns_sync_tests.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let aliyun_client = AliyunDnsClient::new(
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aliyun_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> crates/domain_manager/src/tests/dns_sync_tests.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let conn = init_memory_database().await.map_err(|e| {
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reload_model`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let reload_model = ReloadModel::new_from(
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         let task = app.update(MessageCategory::Sync(SyncMessage::Reload));
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_id`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:322:26
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let (connection, account_id, _domain_id) =
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dns_client`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let dns_client = DnsClient::new(
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dns_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let task = app.update(MessageCategory::Sync(SyncMessage::SyncAllDomains));
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let task = app.update(MessageCategory::Sync(SyncMessage::AllComplete(Ok(()))));
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:384:13
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let task = app.update(MessageCategory::Sync(SyncMessage::AllComplete(Err(
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reload_model`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 422 |         let reload_model = ReloadModel::new_from(
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]    --> crates/domain_manager/src/tests/iced_integration_tests.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let task = app.update(MessageCategory::Sync(SyncMessage::Reload));
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `Container<'_, MessageCategory, StyleType>` to itself
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/domain_list.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             item_container = item_container;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE_SIZE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/main.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const TITLE_SIZE: u16 = 36;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE_PADDING` is never used
[INFO] [stdout]   --> crates/domain_manager/src/main.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const TITLE_PADDING: u16 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTENT_SIZE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/main.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const CONTENT_SIZE: u16 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_aliyun_domain_list` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/ali_api.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub async fn query_aliyun_domain_list() -> Vec<DomainName> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_domain_data` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn process_domain_data(data: &Vec<Domain>) -> Result<Vec<DomainName>, TryReserveError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_aliyun_dns_list` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:156:14
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub async fn query_aliyun_dns_list(domain_name: String) -> Vec<Record> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_aliyun_dns_record` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub async fn add_aliyun_dns_record(add_dns_field: &AddDnsField) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `query_aliyun_dns_operation_list` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:410:14
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub async fn query_aliyun_dns_operation_list(domain_name: String) -> Vec<RecordLog> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_aliyun_dns` is never used
[INFO] [stdout]    --> crates/domain_manager/src/api/ali_api.rs:535:14
[INFO] [stdout]     |
[INFO] [stdout] 535 | pub async fn delete_aliyun_dns(record_id: String) -> Option<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_domain`, `add_dns_record`, `delete_dns_record`, and `update_dns_record` are never used
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_client.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait DnsClientTrait {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn query_domain(&self, domain_name: &Domain) -> Result<DomainQueryResponse>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 15 |     async fn list_dns_records(self: &Self, domain_name: String) -> Result<Vec<Record>>;
[INFO] [stdout] 16 |     fn add_dns_record(&self, domain_name: &DomainName, record: &Record) -> Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     fn delete_dns_record(&self, domain_name: &DomainName, record_id: &str) -> Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     fn update_dns_record(&self, domain_name: &DomainName, record: &Record) -> Result<()>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `region_id` and `dns_provider` are never read
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_client.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DnsClient {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     region_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 27 |     dns_provider: Vec<DnsProvider>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DnsClient` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all_domain_info` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_client.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl DnsClient {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub async fn get_all_domain_info(&self) -> Result<Vec<Domain>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsOperateResponse` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/api/model/dns_operate.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DnsOperateResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordLogs` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct RecordLogs {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordLog` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct RecordLog {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Action` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum Action {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordDeleteResponse` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/model/dns_operate.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct DnsRecordDeleteResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_region` is never used
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/aliyun.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl AliyunDnsClient {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn with_region(mut self, region_id: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareResponse` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct CloudflareResponse<T> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareError` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct CloudflareError {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareZone` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct CloudflareZone {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareDnsRecord` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct CloudflareDnsRecord {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloudflareDnsClient` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct CloudflareDnsClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_zone_id`, `convert_cf_record_to_internal`, and `convert_internal_to_cf_record` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/provider/cloudflare_provider.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl CloudflareDnsClient {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn new(api_token: String, _email: String) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     async fn get_zone_id(&self, domain_name: &str) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn convert_cf_record_to_internal(cf_record: &CloudflareDnsRecord) -> Record {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn convert_internal_to_cf_record(record: &Record) -> CloudflareDnsRecord {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordQuery` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_api.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DnsRecordQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateDnsRecordRequest` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/api/dns_api.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct CreateDnsRecordRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateDnsRecordRequest` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct UpdateDnsRecordRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeleteDnsRecordRequest` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct DeleteDnsRecordRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchDeleteDnsRecordRequest` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub struct BatchDeleteDnsRecordRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordQueryResponse` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct DnsRecordQueryResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordOperationResponse` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct DnsRecordOperationResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchDnsRecordOperationResponse` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct BatchDnsRecordOperationResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_dns_records`, `get_dns_record`, `create_dns_record`, `update_dns_record`, `delete_dns_record`, and `batch_delete_dns_records` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub trait DnsApiTrait: Send + Sync {
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] 275 |     /// 查询DNS记录列表
[INFO] [stdout] 276 |     async fn query_dns_records(&self, query: DnsRecordQuery) -> Result<DnsRecordQueryResponse, DnsApiError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     async fn get_dns_record(&self, record_id: &str) -> Result<Record, DnsApiError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     async fn create_dns_record(&self, request: CreateDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     async fn update_dns_record(&self, request: UpdateDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     async fn delete_dns_record(&self, request: DeleteDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     async fn batch_delete_dns_records(&self, request: BatchDeleteDnsRecordRequest) -> Result<BatchDnsRecordOperationResponse, DnsApiError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiUtils` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:408:12
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub struct DnsApiUtils;
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `build_query_params`, `build_create_params`, `build_update_params`, `parse_api_error`, and `log_operation` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_api.rs:412:12
[INFO] [stdout]     |
[INFO] [stdout] 410 | impl DnsApiUtils {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] 411 |     /// 构建查询参数
[INFO] [stdout] 412 |     pub fn build_query_params(query: &DnsRecordQuery) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub fn build_create_params(request: &CreateDnsRecordRequest) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn build_update_params(request: &UpdateDnsRecordRequest) -> HashMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     pub fn parse_api_error(error_code: &str, error_message: &str) -> DnsApiError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn log_operation(operation: &str, domain: &str, record_id: Option<&str>, success: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]   --> crates/domain_manager/src/api/aliyun_dns_api.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct AliyunDnsApi {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 22 |     /// HTTP客户端
[INFO] [stdout] 23 |     client: Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AliyunDnsApi` 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 `call_aliyun_api` and `parse_dns_records` are never used
[INFO] [stdout]   --> crates/domain_manager/src/api/aliyun_dns_api.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl AliyunDnsApi {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     async fn call_aliyun_api(&self, action: &str, params: HashMap<String, String>) -> Result<Value, DnsApiError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn parse_dns_records(&self, json_value: &Value) -> Result<Vec<Record>, DnsApiError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_domain_list`, `query_dns_operation_logs`, `set_dns_record_status`, and `get_dns_record_statistics` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/aliyun_dns_api.rs:413:18
[INFO] [stdout]     |
[INFO] [stdout] 411 | impl AliyunDnsApi {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 412 |     /// 查询域名列表
[INFO] [stdout] 413 |     pub async fn query_domain_list(&self, page_number: Option<u32>, page_size: Option<u32>) -> Result<Value, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub async fn query_dns_operation_logs(&self, domain_name: &str, page_number: Option<u32>, page_size: Option<u32>) -> Result<Value, Dn...
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub async fn set_dns_record_status(&self, record_id: &str, status: bool) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub async fn get_dns_record_statistics(&self, domain_name: &str, start_date: &str, end_date: &str) -> Result<Value, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl DnsApiManager {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub async fn with_config(config: DnsApiConfig) -> Result<Self> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     async fn get_client(&self) -> Result<Arc<RwLock<Option<DnsClient>>>, anyhow::Error> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub async fn query_dns_records(&self, query: DnsRecordQuery) -> Result<DnsRecordQueryResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub async fn get_dns_record(&self, record_id: &str) -> Result<Record, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub async fn create_dns_record(&self, request: CreateDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub async fn update_dns_record(&self, request: UpdateDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub async fn delete_dns_record(&self, request: DeleteDnsRecordRequest) -> Result<DnsRecordOperationResponse, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub async fn batch_delete_dns_records(&self, request: BatchDeleteDnsRecordRequest) -> Result<BatchDnsRecordOperationResponse, DnsApiE...
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub async fn validate_dns_record(&self, record_type: &crate::model::dns_record_response::Type, value: &str) -> Result<(), DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub async fn test_connection(&self) -> Result<bool, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 412 |     pub async fn get_api_statistics(&self) -> Result<DnsApiStatistics, DnsApiError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiStatistics` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:432:12
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub struct DnsApiStatistics {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsApiFactory` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:450:12
[INFO] [stdout]     |
[INFO] [stdout] 450 | pub struct DnsApiFactory;
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `create_manager`, `create_from_config_file`, and `create_aliyun_manager` are never used
[INFO] [stdout]    --> crates/domain_manager/src/api/dns_integration.rs:454:18
[INFO] [stdout]     |
[INFO] [stdout] 452 | impl DnsApiFactory {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 453 |     /// 创建DNS API管理器
[INFO] [stdout] 454 |     pub async fn create_manager(config: DnsApiConfig) -> Result<DnsApiManager> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub async fn create_from_config_file(config_path: &str) -> Result<DnsApiManager> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub async fn create_aliyun_manager(access_key_id: String, access_key_secret: String) -> Result<DnsApiManager> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_cli_args` is never used
[INFO] [stdout]   --> crates/domain_manager/src/cli/mod.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn handle_cli_args() -> Task<MessageCategory> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server` is never read
[INFO] [stdout]   --> crates/domain_manager/src/configs/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AppConfig {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     pub server: ServerConfig,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfigSettings` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_settings.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ConfigSettings {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `FILE_NAME` is never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_settings.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl ConfigSettings {
[INFO] [stdout]    | ------------------- associated constant in this implementation
[INFO] [stdout] 24 |     const FILE_NAME: &'static str = "settings";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionTuple` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PositionTuple(pub f32, pub f32);
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SizeTuple` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct SizeTuple(pub f32, pub f32);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfigWindow` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ConfigWindow {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ConfigWindow {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 22 |     pub const DEFAULT_SIZE: SizeTuple = SizeTuple(1190.0, 670.0);
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 23 |     const THUMBNAIL_SIZE: SizeTuple = SizeTuple(360.0, 222.0);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |     const MIN_POS_X: f32 = -50.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 26 |     const MIN_POS_Y: f32 = -50.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 27 |     const MAX_POS_X: f32 = 1100.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 28 |     const MAX_POS_Y: f32 = 700.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     const MIN_SIZE_X: f32 = 100.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 31 |     const MIN_SIZE_Y: f32 = 100.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |     const FILE_NAME: &'static str = "window";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn thumbnail_size(factor: f64) -> SizeTuple {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToPosition` is never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub trait ToPosition {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToPoint` is never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait ToPoint {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ToSize` is never used
[INFO] [stdout]   --> crates/domain_manager/src/configs/config_window.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub trait ToSize {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ScaleAndCheck` is never used
[INFO] [stdout]    --> crates/domain_manager/src/configs/config_window.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait ScaleAndCheck {
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `test_path`, `load`, and `store` are never used
[INFO] [stdout]    --> crates/domain_manager/src/configs/config_window.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 154 |     impl ConfigWindow {
[INFO] [stdout]     |     ----------------- associated items in this implementation
[INFO] [stdout] 155 |         pub fn test_path() -> String {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |         pub fn load() -> Self {
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |         pub fn store(self) {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `database` is never read
[INFO] [stdout]   --> crates/domain_manager/src/configs/database.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct DatabaseConfig {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     database: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_to_file` and `update_window_state` are never used
[INFO] [stdout]    --> crates/domain_manager/src/configs/gui_config.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn save_to_file(&self, file_name: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `port` is never read
[INFO] [stdout]  --> crates/domain_manager/src/configs/server.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ServerConfig {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 5 |     port: Option<u16>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ServerConfig` 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 `port` is never used
[INFO] [stdout]  --> crates/domain_manager/src/configs/server.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl ServerConfig {
[INFO] [stdout]   | ----------------- method in this implementation
[INFO] [stdout] 9 |     pub fn port(&self) -> u16 {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAGS_WIDTH_SMALL` is never used
[INFO] [stdout]  --> crates/domain_manager/src/countries/flags_pictures.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const FLAGS_WIDTH_SMALL: f32 = 20.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MULTICAST` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:254:11
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub const MULTICAST: &[u8] = include_bytes!("../../resources/countries_flags/4x3/zz-multicast.svg");
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BROADCAST` is never used
[INFO] [stdout]    --> crates/domain_manager/src/countries/flags_pictures.rs:255:11
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub const BROADCAST: &[u8] = include_bytes!("../../resources/countries_flags/4x3/zz-broadcast.svg");
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `update`, `is_visible`, and `is_enabled` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait Component<State> {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 34 |     /// 组件名称
[INFO] [stdout] 35 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn update(&mut self, _state: &mut State, _message: MessageCategory) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn is_visible(&self, _state: &State) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn is_enabled(&self, _state: &State) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ThemeableComponent` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait ThemeableComponent<State>: Component<State> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConfigurableComponent` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub trait ConfigurableComponent<State, Config>: Component<State> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum ComponentStyle {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |     Primary,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 78 |     /// 次要样式
[INFO] [stdout] 79 |     Secondary,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 80 |     /// 成功样式
[INFO] [stdout] 81 |     Success,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 82 |     /// 警告样式
[INFO] [stdout] 83 |     Warning,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 84 |     /// 错误样式
[INFO] [stdout] 85 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 86 |     /// 信息样式
[INFO] [stdout] 87 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 88 |     /// 自定义样式
[INFO] [stdout] 89 |     Custom(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComponentStyle` 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 `Small`, `Large`, and `Custom` are never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/mod.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub enum ComponentSize {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout]  95 |     /// 小尺寸
[INFO] [stdout]  96 |     Small,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     Large,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 101 |     /// 自定义尺寸
[INFO] [stdout] 102 |     Custom(f32, f32),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ComponentSize` 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]    --> crates/domain_manager/src/gui/components/mod.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct ComponentConfig {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 108 |     /// 样式
[INFO] [stdout] 109 |     pub style: ComponentStyle,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 110 |     /// 大小
[INFO] [stdout] 111 |     pub size: ComponentSize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 112 |     /// 是否可见
[INFO] [stdout] 113 |     pub visible: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 114 |     /// 是否启用
[INFO] [stdout] 115 |     pub enabled: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 116 |     /// 透明度
[INFO] [stdout] 117 |     pub opacity: f32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 118 |     /// 边距
[INFO] [stdout] 119 |     pub margin: (f32, f32, f32, f32), // top, right, bottom, left
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 120 |     /// 内边距
[INFO] [stdout] 121 |     pub padding: (f32, f32, f32, f32), // top, right, bottom, left
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ComponentConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Background` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/background.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Background {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/background.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Background {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn new(background_type: BackgroundType, opacity: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     fn get_background_path(&self) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn view<Message, Theme>(&self) -> Element<'static, Message, Theme>
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn set_background_type(&mut self, background_type: BackgroundType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn set_opacity(&mut self, opacity: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn background_type(&self) -> BackgroundType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn opacity(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `button_hide` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/button.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn button_hide<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `button_open_file` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/button.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn button_open_file<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiRequestLog` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ApiRequestLog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseQueryLog` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct DatabaseQueryLog {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsoleState` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ConsoleState {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_api_log`, `add_db_log`, and `clear_logs` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl ConsoleState {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 61 |     /// 添加API请求日志
[INFO] [stdout] 62 |     pub fn add_api_log(&mut self, log: ApiRequestLog) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn add_db_log(&mut self, log: DatabaseQueryLog) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn clear_logs(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `console_view` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/console.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn console_view<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_console_header` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/console.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn create_console_header<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_api_logs_view` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/console.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn create_api_logs_view<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_db_logs_view` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/console.rs:272:4
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn create_db_logs_view<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait CredentialForm {
[INFO] [stdout]    |           -------------- method in this trait
[INFO] [stdout] 11 |     fn view(&self) -> Element<CredentialMessage, StyleType>;
[INFO] [stdout] 12 |     fn update(&mut self, message: CredentialMessage) -> Option<Credential>;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_button_minimize` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:305:8
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn get_button_minimize<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thumbnail_header` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/header.rs:346:4
[INFO] [stdout]     |
[INFO] [stdout] 346 | fn thumbnail_header<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_exit_overlay` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/modal.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn get_exit_overlay<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clear_all_overlay` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/modal.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn get_clear_all_overlay<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_modal_header` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/modal.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn get_modal_header<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `confirm_button_row` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/modal.rs:126:4
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn confirm_button_row<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modal` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/modal.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn modal<'a>(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notifications_badge` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/components/tab.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn notifications_badge<'a>(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toast_notification` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/toast.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn toast_notification(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_toast` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/toast.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn with_toast<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MyModal` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/components/types/my_modal.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum MyModal {
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `show_details`, `edit_mode`, and `editing_record` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct DnsRecordsComponent {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 20 |     config: ComponentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     show_details: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 25 |     edit_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 26 |     editing_record: Option<DnsRecordModal>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DnsRecordsComponent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsRecordDisplayConfig` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct DnsRecordDisplayConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SRV` and `PTR` are never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum DnsRecordFilter {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 67 |     SRV,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 68 |     PTR,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DnsRecordFilter` 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 `matches` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/dns_records.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl DnsRecordFilter {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn matches(&self, record_type: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_selected_record`, `set_filter_type`, `set_search_query`, `start_edit`, `cancel_edit`, and `render_record_item` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl DnsRecordsComponent {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn set_selected_record(&mut self, record_id: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn set_filter_type(&mut self, filter_type: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn set_search_query(&mut self, query: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn start_edit(&mut self, record: DnsRecordModal) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn cancel_edit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn render_record_item<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypeBadgeStyle` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | struct TypeBadgeStyle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectedRecordStyle` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:584:8
[INFO] [stdout]     |
[INFO] [stdout] 584 | struct SelectedRecordStyle;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/domain_list.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct DomainListComponent {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 19 |     config: ComponentConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainListComponent` 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_selected_domain`, `get_selected_domain`, and `set_show_details` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/domain_list.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl DomainListComponent {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn set_selected_domain(&mut self, domain: Option<String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn get_selected_domain(&self) -> Option<&String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn set_show_details(&mut self, show_details: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_handle` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/mod.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait EventHandler<T> {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn can_handle(&self, event: &T) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AsyncEventHandler` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/mod.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait AsyncEventHandler<T> {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `update_dns_record_async` and `sync_dns_records_async` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/dns_handler.rs:348:14
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl DnsHandler {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 348 |     async fn update_dns_record_async(record: DnsRecordModal) -> Result<DnsRecordModal, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     async fn sync_dns_records_async(domain: usize) -> Result<Vec<DnsRecordModal>, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_ui` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/message_handler.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 245 | impl MessageHandler {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 421 |     fn handle_ui(&self, state: &mut AppState, message: UiMessage) -> Task<MessageCategory> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_provider_selected` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/provider_handler.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl ProviderHandler {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn handle_provider_selected(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `successful`, `cancelled`, `total_domains`, and `total_records` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/sync_handler.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct BatchSyncResult {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 33 |     pub successful: Vec<SyncResult>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 34 |     pub failed: Vec<SyncResult>,
[INFO] [stdout] 35 |     pub cancelled: Vec<SyncResult>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 36 |     pub total_domains: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub total_records: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BatchSyncResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/sync_handler.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     Failed(String),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 43 -     Failed(String),
[INFO] [stdout] 43 +     Failed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/sync_handler.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum SyncResult {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 49 |     Cancelled,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncResult` 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 `handle_sync_domain`, `handle_all_sync_complete`, and `handle_cancel_sync` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/sync_handler.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl SyncHandler {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn handle_sync_domain(&self, state: &mut AppState, domain: String) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn handle_all_sync_complete(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn handle_cancel_sync(&self, state: &mut AppState, domain: Option<String>) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_dragging`, `drag_start_position`, `last_window_position`, and `last_window_size` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct WindowHandler {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 19 |     // 窗口状态相关字段
[INFO] [stdout] 20 |     is_dragging: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 21 |     drag_start_position: Option<Point>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     last_window_position: Option<Point>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     last_window_size: Option<Size>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WindowHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowState` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum WindowState {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowOperationResult` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/handlers/window_handler.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum WindowOperationResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:62:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl WindowHandler {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn handle_start_drag(&mut self, state: &mut AppState, id: Id) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn handle_drag_window(&mut self, state: &mut AppState, position: Point) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn handle_window_moved(&mut self, state: &mut AppState, position: Point) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn handle_window_resized(&mut self, state: &mut AppState, size: Size) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn handle_window_minimize(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn handle_window_maximize(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn handle_toggle_floating(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn handle_background_opacity_change(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn handle_background_toggle(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fn handle_window_close_request(&mut self, state: &mut AppState) -> HandlerResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn get_window_state(&self, state: &AppState) -> WindowState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn get_window_position(&self) -> Option<Point> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn get_window_size(&self) -> Option<Size> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn is_dragging(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn reset_drag_state(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn save_window_settings(&self, state: &AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn load_window_settings(&mut self, state: &mut AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MutableWindowHandler` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:361:12
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub struct MutableWindowHandler {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `handle`, `get_window_state`, `save_window_settings`, and `load_window_settings` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/handlers/window_handler.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 365 | impl MutableWindowHandler {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 366 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn handle(&self, state: &mut AppState, event: WindowMessage) -> HandlerResult {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn get_window_state(&self, state: &AppState) -> WindowState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn save_window_settings(&self, state: &AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn load_window_settings(&self, state: &mut AppState) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/icon.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const FONT:  &[u8] = include_bytes!("../../resources/icons/Icons for Domain Manager.ttf");
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/icon.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn add<'a>() -> Text<'a> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binder` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn binder<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `book` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn book<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `browse` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn browse<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `camera` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn camera<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cancel` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn cancel<'a>() -> Text<'a> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `icon` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/icon.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn icon(codepoint: &str) -> Text<'_> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DnsLogEntry` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/manager_v2.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct DnsLogEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `floating_window_enabled`, `domain_handler`, `dns_handler`, `sync_handler`, and `window_handler` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/manager_v2.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct DomainManagerV2 {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub floating_window_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     domain_handler: DomainHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     dns_handler: DnsHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     sync_handler: SyncHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     window_handler: WindowHandler,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl DomainManagerV2 {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn domain_list(&self) -> Vec<crate::gui::model::domain::Domain> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn current_domain_name(&self) -> Option<&DomainModal> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn dns_list(&self) -> &Vec<DnsRecordModal> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn dns_log_list(&self) -> Vec<DnsLogEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn add_dns_form(&self) -> crate::gui::model::form::AddDnsField {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 498 |     pub fn get_state(&self) -> &AppState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn get_state_mut(&mut self) -> &mut AppState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     pub async fn shutdown(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub async fn reload(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_sync_time` is never read
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout] 613 | pub struct ManagerStatistics {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 617 |     pub last_sync_time: Option<chrono::DateTime<chrono::Utc>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ManagerStatistics` 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: enum `ManagerError` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/manager_v2.rs:626:10
[INFO] [stdout]     |
[INFO] [stdout] 626 | pub enum ManagerError {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_credential_form`, `icon`, and `features` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:57:19
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl DnsProvider {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub(crate) fn get_credential_form(&self) -> Option<Box<dyn CredentialForm>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub(crate) fn icon(&self) -> char {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub(crate) fn features(&self) -> Vec<&str> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_domain_name` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:147:19
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl DomainName {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 147 |     pub(crate) fn get_domain_name(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `text` and `color` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:194:19
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl DomainStatus {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 194 |     pub(crate) fn text(&self) -> &str {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub(crate) fn color(&self) -> iced::Color {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainStats` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/model/domain.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 | struct DomainStats {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `record_id` and `domain_name` are never read
[INFO] [stdout]  --> crates/domain_manager/src/gui/model/form.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AddDnsField {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 7 |     pub record_id: Option<String>,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 8 |     pub domain_name: String,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AddDnsField` 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 `update_value` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/model/form.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl AddDnsField {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 16 |     /// update_input
[INFO] [stdout] 17 |     pub fn update_value(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `domain_list_view` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/domain.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn domain_list_view<'a>(domains: &[Domain]) -> Column<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `domain_page` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/domain.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn domain_page(app: &DomainManagerV2) -> Container<MessageCategory, StyleType> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_domain_page` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn add_domain_page<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl AddDomainProviderForm {
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] 175 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dns_record` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/domain_dns_record.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn dns_record<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_dns_record` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/domain_dns_record.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub fn add_dns_record<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn help<'a>(app: &DomainManagerV2) -> Container<'a, MessageCategory, StyleType> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_DESCRIPTION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const KEY_DESCRIPTION: &[(&str, &str)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_help_text` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/help.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn get_help_text() -> &'static Vec<(String, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `settings_page` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/settings.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn settings_page(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appearance_settings` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/settings.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn appearance_settings<'a>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `background_type_button` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn background_type_button(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notifications_settings` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn notifications_settings<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `general_settings` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/pages/settings.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn general_settings<'a>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Init` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/types/running.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum RunningPage {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 10 |     /// Initial page.
[INFO] [stdout] 11 |     Init,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RunningPage` 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: associated items `ALL`, `get_tab_label`, and `icon` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/pages/types/running.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl RunningPage {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 21 |     pub const ALL: [RunningPage; 3] = [
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_tab_label(&self, language: Language) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn icon<'a>(self) -> iced::widget::Text<'a, StyleType> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Welcome` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/gui/screen/dashboard.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Welcome {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `State` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/screen/dashboard.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum State {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum ServiceResult<T> {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Cancelled,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServiceResult` 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 associated items are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<T> ServiceResult<T> {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 30 |     /// 检查是否成功
[INFO] [stdout] 31 |     pub fn is_success(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn is_error(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn is_cancelled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn success(self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn error(self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn into_result(self) -> Result<T, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn from_result(result: Result<T, String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `shutdown`, and `health_check` are never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/mod.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub trait AsyncService {
[INFO] [stdout]    |           ------------ methods in this trait
[INFO] [stdout] 84 |     /// 服务名称
[INFO] [stdout] 85 |     fn name(&self) -> &'static str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     async fn shutdown(&mut self) -> ServiceResult<()>;
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     async fn health_check(&self) -> ServiceResult<bool>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_domain_by_id`, `get_domain_by_name`, `add_domain`, `update_domain`, `delete_domain`, and `search_domains` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:104:14
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub trait DomainServiceTrait: AsyncService {
[INFO] [stdout]     |           ------------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 104 |     async fn get_domain_by_id(&self, domain_id: &str) -> ServiceResult<Option<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     async fn get_domain_by_name(&self, domain_name: &str) -> ServiceResult<Option<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     async fn add_domain(&self, domain: DomainModal) -> ServiceResult<DomainModal>;
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     async fn update_domain(&self, domain: DomainModal) -> ServiceResult<DomainModal>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     async fn delete_domain(&self, domain_id: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     async fn search_domains(&self, query: &str) -> ServiceResult<Vec<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_dns_records`, `add_dns_record`, `update_dns_record`, `delete_dns_record`, and `batch_dns_operations` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub trait DnsServiceTrait: AsyncService {
[INFO] [stdout]     |           --------------- methods in this trait
[INFO] [stdout] 125 |     /// 查询域名的DNS记录
[INFO] [stdout] 126 |     async fn query_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     async fn add_dns_record(&self, record: DnsRecordModal) -> ServiceResult<DnsRecordModal>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     async fn update_dns_record(&self, record: DnsRecordModal) -> ServiceResult<DnsRecordModal>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     async fn delete_dns_record(&self, domain: &str, record_id: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     async fn batch_dns_operations(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sync_domain`, `sync_all_domains`, `get_sync_status`, and `cancel_sync` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub trait SyncServiceTrait: AsyncService {
[INFO] [stdout]     |           ---------------- methods in this trait
[INFO] [stdout] 147 |     /// 同步单个域名
[INFO] [stdout] 148 |     async fn sync_domain(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     async fn sync_all_domains(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     async fn get_sync_status(&self, domain: &str) -> ServiceResult<SyncStatus>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     async fn cancel_sync(&self, domain: Option<String>) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_domain`, `save_dns_records`, `load_domains`, `load_dns_records`, `delete_domain_data`, and `cleanup_expired_data` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub trait DatabaseServiceTrait: AsyncService {
[INFO] [stdout]     |           -------------------- methods in this trait
[INFO] [stdout] 166 |     /// 保存域名
[INFO] [stdout] 167 |     async fn save_domain(&self, domain: &DomainModal) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     async fn save_dns_records(&self, domain: &str, records: &[DnsRecordModal])
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     async fn load_domains(&self) -> ServiceResult<Vec<DomainModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     async fn load_dns_records(&self, domain: &str) -> ServiceResult<Vec<DnsRecordModal>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     async fn delete_domain_data(&self, domain: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     async fn cleanup_expired_data(&self) -> ServiceResult<usize>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:191:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub trait ConfigServiceTrait: AsyncService {
[INFO] [stdout]     |           ------------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 191 |     async fn save_config(&self);
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     async fn get_config_string(&self, key: &str) -> ServiceResult<Option<String>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     async fn set_config_string(&self, key: &str, value: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     async fn get_config_json(&self, key: &str) -> ServiceResult<Option<serde_json::Value>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     async fn set_config_json(&self, key: &str, value: &serde_json::Value) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     async fn remove_config(&self, key: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     async fn get_all_configs(&self) -> ServiceResult<HashMap<String, serde_json::Value>>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     async fn save_to_file(&self, path: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     async fn load_from_file(&self, path: &str) -> ServiceResult<()>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsOperation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:220:10
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub enum DnsOperation {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DnsOperationResult` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub enum DnsOperationResult {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SyncStatus` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub enum SyncStatus {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `dns_service`, `sync_service`, `database_service`, `config_service`, `shutdown_all`, and `health_check_all` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/services/mod.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl ServiceManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn dns_service(&self) -> &dyn DnsServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn sync_service(&self) -> &dyn SyncServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn database_service(&self) -> &dyn DatabaseServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn config_service(&self) -> &dyn ConfigServiceTrait {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub async fn shutdown_all(&mut self) -> ServiceResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub async fn health_check_all(&self) -> ServiceResult<HashMap<String, bool>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_path` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/config_service.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ConfigService {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 38 |     config: AppConfig,
[INFO] [stdout] 39 |     config_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfigService` 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 `set_config_path` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/config_service.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl ConfigService {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn set_config_path(&mut self, path: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct DatabaseService {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 12 |     connection: Option<DatabaseConnection>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseService` 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 `set_connection` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/services/database_service.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl DatabaseService {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn set_connection(&mut self, connection: DatabaseConnection) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `initialized`, and `version` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/state/app_state.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct AppState {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub config: Config,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub initialized: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub version: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` 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 `SetMessage`, `HideToast`, `SetSyncing`, `ToggleFloatingMode`, `ToggleFloatingWindow`, and `ToggleThumbnail` are never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:72:5
[INFO] [stdout]     |
[INFO] [stdout]  58 | pub enum UiUpdate {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  72 |     SetMessage(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     HideToast,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     SetSyncing(bool),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     ToggleFloatingMode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     ToggleFloatingWindow,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     ToggleThumbnail,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UiUpdate` 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 `AddDomain`, `RemoveDomain`, `SetSearchContent`, and `Clear` are never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub enum DataUpdate {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 141 |     AddDomain(DomainModel),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     RemoveDomain(usize),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     SetSearchContent(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     Clear,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataUpdate` 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 `0` and `1` are never read
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:169:24
[INFO] [stdout]     |
[INFO] [stdout] 169 |     UpdateWindowConfig(Size, Point),
[INFO] [stdout]     |     ------------------ ^^^^  ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConfigUpdate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 169 -     UpdateWindowConfig(Size, Point),
[INFO] [stdout] 169 +     UpdateWindowConfig((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SetTheme` is never constructed
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum ConfigUpdate {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 163 |     SetTheme(Theme),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConfigUpdate` 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 associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl AppState {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn with_config(config: Config) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn initialize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn get_selected_domain(&self) -> Option<&DomainModel> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn get_filtered_domains(&self) -> Vec<DomainModel> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn has_unsaved_changes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 392 |     pub fn get_status_summary(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn is_ready(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StateManager` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/app_state.rs:415:11
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub trait StateManager {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `console_tab`, `window_maximized`, `filter`, and `id` are never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/state/ui_state.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct UiState {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub console_tab: ConsoleTab,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub window_maximized: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub filter: Filter,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub id: Option<Id>,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `switch_console_tab`, `toggle_window_maximized`, `toggle_window_minimize`, and `update_window_state` are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/ui_state.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl UiState {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 122 |     /// 创建新的UI状态
[INFO] [stdout] 123 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn switch_console_tab(&mut self, tab: ConsoleTab) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn toggle_window_maximized(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub(crate) fn toggle_window_minimize(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn update_window_state(&mut self, x: f32, y: f32, width: f32, height: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `connection` is never read
[INFO] [stdout]   --> crates/domain_manager/src/gui/state/data_state.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DataState {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub connection: Option<DatabaseConnection>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataState` 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 `dns_records_count` is never read
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout]  88 | pub struct DomainStats {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub dns_records_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DomainStats` 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 associated items are never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/state/data_state.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl DataState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 147 |     /// 创建新的数据状态
[INFO] [stdout] 148 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn set_dns_records(&mut self, domain_id: usize, records: Vec<DnsRecordModal>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn add_dns_record(&mut self, domain_name: usize, record: DnsRecordModal) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn remove_dns_record(&mut self, domain_id: usize, record_id: i64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn set_filter(&mut self, filter: Filter) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_filtered_domains(&self) -> Vec<DomainModal> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn mark_saved(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn set_last_sync_time(&mut self, time: chrono::DateTime<chrono::Utc>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn has_unsaved_changes(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn is_syncing(&self, domain_name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn clear_syncing_states(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContainerStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/container.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ContainerStyle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIMARY_MODERN_DARK` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PRIMARY_MODERN_DARK: Color = Color {
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDARY_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const SECONDARY_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCENT_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const ACCENT_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_DARK_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const MODERN_DARK_PALETTE: Palette = Palette {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUTTONS_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const BUTTONS_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED_ALERT_MODERN_DARK` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const RED_ALERT_MODERN_DARK: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_DARK_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const MODERN_DARK_PALETTE_EXTENSION: PaletteExtension = PaletteExtension {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRIMARY_MODERN_LIGHT` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:80:7
[INFO] [stdout]    |
[INFO] [stdout] 80 | const PRIMARY_MODERN_LIGHT: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDARY_MODERN_LIGHT` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const SECONDARY_MODERN_LIGHT: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACCENT_MODERN_LIGHT` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const ACCENT_MODERN_LIGHT: Color = Color {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_LIGHT_PALETTE` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub const MODERN_LIGHT_PALETTE: Palette = Palette {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUTTONS_MODERN_LIGHT` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:125:7
[INFO] [stdout]     |
[INFO] [stdout] 125 | const BUTTONS_MODERN_LIGHT: Color = Color {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED_ALERT_MODERN_LIGHT` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 | const RED_ALERT_MODERN_LIGHT: Color = Color {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODERN_LIGHT_PALETTE_EXTENSION` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/custom_themes/modern.rs:139:11
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub const MODERN_LIGHT_PALETTE_EXTENSION: PaletteExtension = PaletteExtension {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `danger_btn` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/custom_themes/theme.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn danger_btn(_theme: &Theme, status: Status) -> Style {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DonutType` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/donut.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum DonutType {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `active` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/donut.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl DonutType {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 11 |     #[allow(clippy::unused_self)]
[INFO] [stdout] 12 |     fn active(&self, style: &StyleType) -> Style {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Style` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/donut.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Style {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Catalog` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/donut.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait Catalog: Sized {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMOJI_FONT` is never used
[INFO] [stdout]  --> crates/domain_manager/src/gui/styles/fonts/emoji.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const EMOJI_FONT: Font = Font::with_name("Noto Emoji");
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_SIZE_SUBTITLE` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/style_constants.rs:233:11
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub const FONT_SIZE_SUBTITLE: f32 = 18.3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_SIZE_TITLE` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/style_constants.rs:234:11
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub const FONT_SIZE_TITLE: f32 = 19.9;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHARTS_LINE_BORDER` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/style_constants.rs:238:11
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub const CHARTS_LINE_BORDER: u32 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_rgb_color` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/types/palette.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn to_rgb_color(color: Color) -> RGBColor {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `style_path` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/types/palette.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 |     fn style_path(name: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `catppuccin_style` is never used
[INFO] [stdout]    --> crates/domain_manager/src/gui/styles/types/palette.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn catppuccin_style() -> Palette {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SidebarStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct SidebarStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BadgeStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct BadgeStyle;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatCardStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct StatCardStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DomainRowStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct DomainRowStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectedDomainRowStyle` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/gui/styles/types/style_type.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct SelectedDomainRowStyle;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_DARK_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub static A11Y_DARK_PALETTE: std::sync::LazyLock<Palette> = std::sync::LazyLock::new(|| Palette {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_DARK_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub static A11Y_DARK_PALETTE_EXTENSION: std::sync::LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_LIGHT_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub static A11Y_LIGHT_PALETTE: std::sync::LazyLock<Palette> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A11Y_LIGHT_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/da11y.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub static A11Y_LIGHT_PALETTE_EXTENSION: std::sync::LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_DARK_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub static DRACULA_DARK_PALETTE: LazyLock<Palette> = LazyLock::new(|| Palette {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_DARK_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub static DRACULA_DARK_PALETTE_EXTENSION: LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_LIGHT_PALETTE` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub static DRACULA_LIGHT_PALETTE: LazyLock<Palette> = LazyLock::new(|| Palette {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DRACULA_LIGHT_PALETTE_EXTENSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/gui/themes/dracula.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub static DRACULA_LIGHT_PALETTE_EXTENSION: LazyLock<PaletteExtension> =
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MmdbReaders` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/mmdb/types/mmdb_reader.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MmdbReaders {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TimeUnit` is never used
[INFO] [stdout]    --> crates/domain_manager/src/model/dns_record_response.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum TimeUnit {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewApiKey` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/models/account.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct NewApiKey {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DomainStatus` is never used
[INFO] [stdout]  --> crates/domain_manager/src/models/record.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum DomainStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Notifications` is never constructed
[INFO] [stdout]  --> crates/domain_manager/src/notifications/types/notifications.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Notifications {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FavoriteNotification` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/notifications.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct FavoriteNotification {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `on` and `off` are never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/notifications.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl FavoriteNotification {
[INFO] [stdout]    | ------------------------- associated functions in this implementation
[INFO] [stdout] 42 |     /// Constructor when the notification is in use
[INFO] [stdout] 43 |     pub fn on(sound: Sound) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn off(sound: Sound) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Sound` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Sound {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GULP` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const GULP: &[u8] = include_bytes!("../../../resources/sounds/gulp.mp3");
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POP` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const POP: &[u8] = include_bytes!("../../../resources/sounds/pop.mp3");
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SWOOSH` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const SWOOSH: &[u8] = include_bytes!("../../../resources/sounds/swoosh.mp3");
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ALL`, `mp3_sound`, and `get_text` are never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Sound {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 31 |     pub(crate) const ALL: [Sound; 4] = [Gulp, Pop, Swoosh, Sound::None];
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 32 |
[INFO] [stdout] 33 |     fn mp3_sound(self) -> &'static [u8] {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn get_text<'a>(self, font: Font) -> Text<'a, StyleType> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play` is never used
[INFO] [stdout]   --> crates/domain_manager/src/notifications/types/sounds.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn play(sound: Sound, volume: u8) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CURRENT_DB_VERSION` is never used
[INFO] [stdout]   --> crates/domain_manager/src/storage/database.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const CURRENT_DB_VERSION: u32 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_api_keys` is never used
[INFO] [stdout]    --> crates/domain_manager/src/storage/accounts.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn get_api_keys(conn: &DatabaseConnection, account_id: i32) -> Result<Vec<ApiKey>, Box<dyn Error>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ApiSecret` is never constructed
[INFO] [stdout]   --> crates/domain_manager/src/storage/migration/m20250712_000001_create_account_table.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum Accounts {
[INFO] [stdout]    |      -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     ApiSecret,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_adapters_translation` is never used
[INFO] [stdout]  --> crates/domain_manager/src/translations/translations.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn choose_adapters_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_filters_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn select_filters_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn start_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `address_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn address_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `addresses_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn addresses_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ip_version_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn ip_version_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `protocol_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:215:8
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub fn protocol_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `traffic_rate_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn traffic_rate_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `settings_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub fn settings_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `yes_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:315:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub fn yes_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_quit_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:340:8
[INFO] [stdout]     |
[INFO] [stdout] 340 | pub fn ask_quit_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_clear_all_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn ask_clear_all_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_all_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn clear_all_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hide_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:447:8
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub fn hide_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `network_adapter_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:474:8
[INFO] [stdout]     |
[INFO] [stdout] 474 | pub fn network_adapter_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_addresses_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:501:8
[INFO] [stdout]     |
[INFO] [stdout] 501 | pub fn no_addresses_translation<'a>(language: Language, adapter: &str) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `waiting_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:616:8
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub fn waiting_translation<'a>(language: Language, adapter: &str) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_observed_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations.rs:731:8
[INFO] [stdout]     |
[INFO] [stdout] 731 | pub fn some_observed_translation<'a>(language: Language, observed: u128) -> Text<'a, StyleType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `error_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1006:8
[INFO] [stdout]      |
[INFO] [stdout] 1006 | pub fn error_translation(language: Language, error: &str) -> Text<StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `packets_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1167:8
[INFO] [stdout]      |
[INFO] [stdout] 1167 | pub fn packets_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1219:8
[INFO] [stdout]      |
[INFO] [stdout] 1219 | pub fn bytes_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `notifications_title_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1371:8
[INFO] [stdout]      |
[INFO] [stdout] 1371 | pub fn notifications_title_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `appearance_title_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1398:8
[INFO] [stdout]      |
[INFO] [stdout] 1398 | pub fn appearance_title_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active_filters_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1425:8
[INFO] [stdout]      |
[INFO] [stdout] 1425 | pub fn active_filters_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `none_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1452:8
[INFO] [stdout]      |
[INFO] [stdout] 1452 | pub fn none_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `incoming_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1586:8
[INFO] [stdout]      |
[INFO] [stdout] 1586 | pub fn incoming_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `outgoing_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1612:8
[INFO] [stdout]      |
[INFO] [stdout] 1612 | pub fn outgoing_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `language_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1684:8
[INFO] [stdout]      |
[INFO] [stdout] 1684 | pub fn language_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `overview_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1711:8
[INFO] [stdout]      |
[INFO] [stdout] 1711 | pub fn overview_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `per_second_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1792:8
[INFO] [stdout]      |
[INFO] [stdout] 1792 | pub fn per_second_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threshold_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1872:8
[INFO] [stdout]      |
[INFO] [stdout] 1872 | pub fn threshold_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `volume_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1899:8
[INFO] [stdout]      |
[INFO] [stdout] 1899 | pub fn volume_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sound_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1922:8
[INFO] [stdout]      |
[INFO] [stdout] 1922 | pub fn sound_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_exceeded_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1947:8
[INFO] [stdout]      |
[INFO] [stdout] 1947 | pub fn bytes_exceeded_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bytes_exceeded_value_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:1974:8
[INFO] [stdout]      |
[INFO] [stdout] 1974 | pub fn bytes_exceeded_value_translation(language: Language, value: &str) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `packets_exceeded_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2001:8
[INFO] [stdout]      |
[INFO] [stdout] 2001 | pub fn packets_exceeded_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `packets_exceeded_value_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2028:8
[INFO] [stdout]      |
[INFO] [stdout] 2028 | pub fn packets_exceeded_value_translation(language: Language, value: u32) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `favorite_transmitted_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2079:8
[INFO] [stdout]      |
[INFO] [stdout] 2079 | pub fn favorite_transmitted_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_notifications_set_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2107:8
[INFO] [stdout]      |
[INFO] [stdout] 2107 | pub fn no_notifications_set_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_notifications_received_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2220:8
[INFO] [stdout]      |
[INFO] [stdout] 2220 | pub fn no_notifications_received_translation<'a>(language: Language) -> Text<'a, StyleType> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `only_last_30_translation` is never used
[INFO] [stdout]     --> crates/domain_manager/src/translations/translations.rs:2313:8
[INFO] [stdout]      |
[INFO] [stdout] 2313 | pub fn only_last_30_translation(language: Language) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inspect_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_2.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn inspect_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connection_details_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_2.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn connection_details_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dropped_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_2.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn dropped_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data_representation_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn data_representation_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `host_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn host_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `only_top_30_items_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn only_top_30_items_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `socket_address_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn socket_address_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mac_address_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn mac_address_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn source_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `destination_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:381:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub fn destination_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fqdn_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:406:8
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub fn fqdn_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `administrative_entity_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:432:8
[INFO] [stdout]     |
[INFO] [stdout] 432 | pub fn administrative_entity_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transmitted_data_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:459:8
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub fn transmitted_data_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `country_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn country_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `domain_name_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:512:8
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub fn domain_name_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `only_show_favorites_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:539:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub fn only_show_favorites_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `no_search_results_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:592:8
[INFO] [stdout]     |
[INFO] [stdout] 592 | pub fn no_search_results_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `showing_results_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_2.rs:619:8
[INFO] [stdout]     |
[INFO] [stdout] 619 | pub fn showing_results_translation(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `zoom_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_3.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn zoom_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mmdb_files_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_3.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn mmdb_files_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `params_not_editable_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_3.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn params_not_editable_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `custom_style_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn custom_style_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn copy_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `port_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn port_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_filters_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn invalid_filters_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `messages_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn messages_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `link_type_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:236:8
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub fn link_type_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unsupported_link_type_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn unsupported_link_type_translation<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_host_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn filter_by_host_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `service_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:402:8
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub fn service_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_capture_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub fn export_capture_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `directory_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub fn directory_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `file_name_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:499:8
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub fn file_name_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thumbnail_mode_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:524:8
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub fn thumbnail_mode_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `learn_more_translation` is never used
[INFO] [stdout]    --> crates/domain_manager/src/translations/translations_3.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 549 | pub fn learn_more_translation(language: Language) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `excluded_translation` is never used
[INFO] [stdout]   --> crates/domain_manager/src/translations/translations_4.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn excluded_translation(language: Language) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_api` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub async fn call_api(
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_signature` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn generate_signature(access_key_secret: &str, string_to_sign: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_request_url` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/aliyun_utils.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn build_request_url(endpoint: &str, params: &HashMap<String, String>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_cli_welcome_message` is never used
[INFO] [stdout]  --> crates/domain_manager/src/utils/formatted_strings.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn print_cli_welcome_message() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_socket_address` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/formatted_strings.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn get_socket_address(address: &IpAddr, port: Option<u16>) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_path_termination_string` is never used
[INFO] [stdout]   --> crates/domain_manager/src/utils/formatted_strings.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn get_path_termination_string(full_path: &str, i: usize) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> crates/domain_manager/src/utils/types/icon.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum Icon {
[INFO] [stdout]    |          ---- variants in this enum
[INFO] [stdout]  7 |     ArrowBack,
[INFO] [stdout]  8 |     ArrowLeft,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  9 |     ArrowRight,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     ArrowsDown,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 11 |     AudioHigh,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 12 |     AudioMute,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 13 |     Bin,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 14 |     Book,
[INFO] [stdout] 15 |     BytesThreshold,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     Clock,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 17 |     Copy,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     File,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     Forbidden,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 23 |     Funnel,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Hourglass1,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     Hourglass2,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 29 |     Hourglass3,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 30 |     Image,
[INFO] [stdout] 31 |     Inspect,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 32 |     Moon,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Overview,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 37 |     PacketsThreshold,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     Restore,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 39 |     Rocket,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     Settings,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 41 |     DomainManager,
[INFO] [stdout] 42 |     SortAscending,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 43 |     SortDescending,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     SortNeutral,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 45 |     Star,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     Sun,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 47 |     ThumbnailOpen,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     ThumbnailClose,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     Update,
[INFO] [stdout] 50 |     Warning,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 51 |     Waves,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     Bell,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 60 |     /// 导出图标
[INFO] [stdout] 61 |     Export,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 62 |     /// 导入图标
[INFO] [stdout] 63 |     Import,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 64 |     /// 终端图标
[INFO] [stdout] 65 |     Terminal,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 66 |     /// 窗口图标
[INFO] [stdout] 67 |     Window,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_simulate_failure`, `get_mock_domains`, `get_mock_records`, and `clear_mock_data` are never used
[INFO] [stdout]    --> crates/domain_manager/src/tests/mock_aliyun_client.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl MockAliyunDnsClient {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn set_simulate_failure(&mut self, simulate: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn get_mock_domains(&self) -> &HashMap<String, Vec<Domain>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_mock_records(&self, domain_name: &str) -> Option<&Vec<Record>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn clear_mock_data(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/mod.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn view_with_theme(&self, state: &State, theme: &Theme) -> Element<MessageCategory>;
[INFO] [stdout]    |                        ^^^^^ the lifetime is elided here       ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn view_with_theme(&self, state: &State, theme: &Theme) -> Element<'_, MessageCategory>;
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn view(&self) -> Element<CredentialMessage, StyleType>;
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn view(&self) -> Element<CredentialMessage, StyleType> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn view(&self) -> Element<CredentialMessage, StyleType> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/credential_form.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn view(&self) -> Element<CredentialMessage, StyleType> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn view(&self) -> Element<'_, CredentialMessage, StyleType> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/domain_manager/src/gui/components/toast.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 |     message: &str,
[INFO] [stdout]    |              ^^^^ the lifetime is elided here
[INFO] [stdout] 21 |     show: bool,
[INFO] [stdout] 22 | ) -> Option<Element<MessageCategory, StyleType>> {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 | ) -> Option<Element<'_, MessageCategory, StyleType>> {
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:165:26
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn render_filter_bar(&self, _state: &State) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                          ^^^^^                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn render_filter_bar(&self, _state: &State) -> Element<'_, MessageCategory, StyleType> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/domain_manager/src/gui/components/dns_records.rs:426:27
[INFO] [stdout]     |
[INFO] [stdout] 426 |     fn render_empty_state(&self, domain: Option<&str>) -> Element<MessageCategory, StyleType> {
[INFO] [stdout]     |                           ^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[WARN] too many lines in the log, truncating it
