[INFO] cloning repository https://github.com/verloren-droom/cliplink
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/verloren-droom/cliplink" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fverloren-droom%2Fcliplink", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fverloren-droom%2Fcliplink'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 63707c524f2f641b2bc839d70a7c8b9fcc9770f2
[INFO] checking verloren-droom/cliplink against f4dd856795debe636f2ba39a900f162f5abeb7e8 for pr-160904
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fverloren-droom%2Fcliplink" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/verloren-droom/cliplink
[INFO] finished tweaking git repo https://github.com/verloren-droom/cliplink
[INFO] tweaked toml for git repo https://github.com/verloren-droom/cliplink written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/verloren-droom/cliplink on toolchain f4dd856795debe636f2ba39a900f162f5abeb7e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/verloren-droom/cliplink 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" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300
[INFO] running `Command { std: "docker" "start" "f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300" "/opt/rustwide/cargo-home/bin/cargo" "+f4dd856795debe636f2ba39a900f162f5abeb7e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling time-core v0.1.7
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling time-macros v0.2.25
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling cliplink v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking time v0.3.45
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking rustls-webpki v0.103.10
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking quinn-proto v0.11.14
[INFO] [stderr]     Checking rusqlite v0.37.0
[INFO] [stdout] warning: constant `APP_BUNDLE_ID` is never used
[INFO] [stdout]   --> src/constants.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub(crate) const APP_BUNDLE_ID: &str = "com.benfach.cliplink";
[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 `LOCAL_DATA_KEY_ACCOUNT` is never used
[INFO] [stdout]   --> src/constants.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub(crate) const LOCAL_DATA_KEY_ACCOUNT: &str = "local-data-master-key";
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DEVICE_NAME_CHARS` is never used
[INFO] [stdout]    --> src/constants.rs:112:22
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub(crate) const MAX_DEVICE_NAME_CHARS: usize = 64;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_HISTORY_LIMIT` is never used
[INFO] [stdout]    --> src/constants.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const MAX_HISTORY_LIMIT: usize = 500;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REMOTE_SESSION_ITEMS_TOTAL` is never used
[INFO] [stdout]    --> src/constants.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub(crate) const MAX_REMOTE_SESSION_ITEMS_TOTAL: usize = 192;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REMOTE_SESSION_ITEMS_PER_PEER` is never used
[INFO] [stdout]    --> src/constants.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub(crate) const MAX_REMOTE_SESSION_ITEMS_PER_PEER: usize = 48;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REMOTE_HISTORY_TOOLTIP_LINES` is never used
[INFO] [stdout]    --> src/constants.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub(crate) const MAX_REMOTE_HISTORY_TOOLTIP_LINES: usize = 8;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REMOTE_HISTORY_TOOLTIP_CHARS` is never used
[INFO] [stdout]    --> src/constants.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub(crate) const MAX_REMOTE_HISTORY_TOOLTIP_CHARS: usize = 384;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REMOTE_CONTENT_CACHE_ITEMS` is never used
[INFO] [stdout]    --> src/constants.rs:139:22
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub(crate) const MAX_REMOTE_CONTENT_CACHE_ITEMS: usize = 2;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_REMOTE_CONTENT_CACHE_BYTES` is never used
[INFO] [stdout]    --> src/constants.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub(crate) const MAX_REMOTE_CONTENT_CACHE_BYTES: usize = 256 * 1024;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MACOS_CLIPBOARD_POLL_INTERVAL` is never used
[INFO] [stdout]    --> src/constants.rs:154:22
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub(crate) const MACOS_CLIPBOARD_POLL_INTERVAL: Duration = Duration::from_millis(120);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMMEDIATE_PASTE_DELAY` is never used
[INFO] [stdout]    --> src/constants.rs:158:22
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub(crate) const IMMEDIATE_PASTE_DELAY: Duration = Duration::from_millis(16);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MACOS_UI_TICK_INTERVAL_SECONDS` is never used
[INFO] [stdout]    --> src/constants.rs:162:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub(crate) const MACOS_UI_TICK_INTERVAL_SECONDS: f64 = 0.12;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/controller/device_presenter.rs:8:19
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl AppController {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]   8 |     pub(crate) fn device_detail_text(address: Option<(&str, u16)>) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  15 |     pub(crate) fn device_status_label(status: DeviceStatusKind) -> &'static str {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     fn device_status_kind(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub(crate) fn device_status_tooltip(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     fn format_relative_time(last_seen: OffsetDateTime) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     fn format_seen_time(last_seen: OffsetDateTime) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     fn device_status_sort_rank(status: DeviceStatusKind) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub(super) fn discovered_peer_is_trusted(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn collapse_shadowed_offline_device_entries(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub(super) fn collapse_duplicate_device_entries(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub(super) fn device_entries(&self) -> Vec<SettingsDeviceEntry> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/controller/history.rs:17:19
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl AppController {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  16 |     #[cfg_attr(target_os = "android", allow(dead_code))]
[INFO] [stdout]  17 |     pub(crate) fn report_status(&mut self, status: impl Into<String>) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub(crate) fn status_text(&self) -> Option<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub(crate) fn transfer_progress_snapshot(&self) -> Option<TransferProgressSnapshot> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub(crate) fn history_scope_options(&self) -> Vec<HistoryScopeOption> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub(crate) fn normalize_history_scope(&self, scope: HistoryScope) -> HistoryScope {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub(crate) fn history_rows_with_scope(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub(crate) fn load_item(&self, id: Uuid) -> AppResult<Option<ClipboardItem>> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub(crate) fn recent_menu_entries(&self, limit: usize) -> Vec<(Uuid, String)> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub(crate) fn clear_history_with_options(&mut self, include_pinned: bool) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub(crate) fn set_history_items_pinned(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub(crate) fn copy_item(&mut self, id: Uuid) -> AppResult<HistoryActivation> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     fn sorted_history_entries(&self) -> Vec<&HistoryEntry> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     fn activate_cached_remote_item(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub(super) fn merge_local_item_with_existing_state(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub(super) fn merge_remote_item_with_cached_state(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn merge_item_with_existing_state(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub(super) fn replace_remote_history_snapshot(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub(super) fn clear_remote_history_for_peer(&mut self, peer_device_id: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub(super) fn clear_remote_history_for_peers<'a>(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     pub(super) fn upsert_remote_history_item(&mut self, item: ClipboardItem) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `history_entry_to_row` is never used
[INFO] [stdout]   --> src/controller/history_presenter.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AppController {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 10 |     pub(super) fn history_entry_to_row(entry: &HistoryEntry) -> HistoryRow {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_device_id`, `signature`, `total_size_bytes`, and `history_entry` are never read
[INFO] [stdout]   --> src/controller/remote.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(super) struct RemoteHistoryItem {
[INFO] [stdout]    |                   ----------------- fields in this struct
[INFO] [stdout] 24 |     pub(super) source_device_id: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub(super) signature: String,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 26 |     pub(super) total_size_bytes: u64,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub(super) history_entry: HistoryEntry,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RemoteHistoryItem` 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 `item` and `estimated_bytes` are never read
[INFO] [stdout]   --> src/controller/remote.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct CachedRemoteContent {
[INFO] [stdout]    |        ------------------- fields in this struct
[INFO] [stdout] 39 |     item: ClipboardItem,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 40 |     estimated_bytes: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedRemoteContent` 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 methods are never used
[INFO] [stdout]    --> src/controller/remote.rs:51:19
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl RemoteHistorySession {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub(super) fn item(&self, id: Uuid) -> Option<&RemoteHistoryItem> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub(super) fn cached_item(&self, id: Uuid) -> Option<ClipboardItem> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub(super) fn len(&self) -> usize {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub(super) fn entries(&self) -> impl Iterator<Item = &HistoryEntry> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub(super) fn latest_cached_item(&self) -> Option<ClipboardItem> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub(super) fn retain_online_devices(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub(super) fn replace_peer_items(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub(super) fn upsert_live_item(&mut self, item: ClipboardItem) -> Vec<Uuid> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub(super) fn remove_peer_items(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub(super) fn cache_item(&mut self, item: ClipboardItem) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub(super) fn touch_item(&mut self, id: Uuid, created_at: OffsetDateTime) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn prune_peer_limit(&mut self, peer_device_id: &str) -> Vec<Uuid> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn prune_total_limit(&mut self) -> Vec<Uuid> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn remove_items(&mut self, ids: Vec<Uuid>) -> Vec<Uuid> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_clipboard_item` and `to_placeholder_item` are never used
[INFO] [stdout]    --> src/controller/remote.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl RemoteHistoryItem {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 232 |     fn from_clipboard_item(item: &ClipboardItem) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub(super) fn to_placeholder_item(&self) -> ClipboardItem {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `insert`, and `remove` are never used
[INFO] [stdout]    --> src/controller/remote.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl RemoteContentCache {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn get(&self, id: Uuid) -> Option<ClipboardItem> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn insert(&mut self, item: ClipboardItem) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     fn remove(&mut self, id: Uuid) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_clipboard_item_bytes` is never used
[INFO] [stdout]    --> src/controller/remote.rs:323:4
[INFO] [stdout]     |
[INFO] [stdout] 323 | fn estimate_clipboard_item_bytes(item: &ClipboardItem) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build_remote_history_entry` is never used
[INFO] [stdout]    --> src/controller/remote.rs:355:19
[INFO] [stdout]     |
[INFO] [stdout] 354 | impl AppController {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 355 |     pub(super) fn build_remote_history_entry(item: &ClipboardItem) -> HistoryEntry {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tick`, `notify_share_state`, `preferred_latest_item`, `sync_preferred_latest_to_clipboard`, and `apply_transfer_progress` are never used
[INFO] [stdout]    --> src/controller/runtime.rs:15:19
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  15 |     pub(crate) fn tick(&mut self) -> TickOutcome {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub(super) fn notify_share_state(&mut self, share_local_history: bool) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn preferred_latest_item(&self) -> AppResult<Option<ClipboardItem>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub(super) fn sync_preferred_latest_to_clipboard(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub(super) fn apply_transfer_progress(&mut self, progress: FileTransferProgress) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/controller/runtime_events.rs:11:19
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  11 |     pub(super) fn handle_runtime_event(&mut self, event: RuntimeEvent, outcome: &mut TickOutcome) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn handle_peer_list_event(&mut self, peers: Vec<DiscoveredPeer>, outcome: &mut TickOutcome) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     fn handle_trust_request_received_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn handle_trust_request_completed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn handle_trust_request_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn handle_trust_revoked_by_peer_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn handle_remote_share_state_changed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn handle_inbound_clipboard_event(&mut self, item: ClipboardItem, outcome: &mut TickOutcome) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn handle_history_snapshot_received_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     fn handle_remote_history_items_removed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn handle_history_snapshot_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     fn handle_remote_clipboard_resolved_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     fn handle_remote_clipboard_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn handle_remote_files_resolved_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     fn handle_remote_files_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     fn handle_file_transfer_progress_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn handle_runtime_status_event(&mut self, status: String, outcome: &mut TickOutcome) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     fn store_live_remote_item(&mut self, item: ClipboardItem) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn store_resolved_remote_item(&mut self, item: &ClipboardItem) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/controller/settings.rs:12:19
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  12 |     pub(crate) fn hotkey(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  20 |     pub(crate) fn settings_snapshot(&self) -> SettingsSnapshot {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub(crate) fn settings_device_entries(&self) -> Vec<SettingsDeviceEntry> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub(crate) fn current_settings_update(&self) -> SettingsUpdate {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub(crate) fn normalize_settings_update(&self, mut update: SettingsUpdate) -> SettingsUpdate {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub(crate) fn validate_settings_update(&self, update: &SettingsUpdate) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub(crate) fn apply_settings(&mut self, update: SettingsUpdate) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub(crate) fn set_preferences_visible(&mut self, visible: bool) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(crate) fn launch_at_login_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrustedPeerDiscoveryReconcileResult` is never constructed
[INFO] [stdout]   --> src/controller/trust.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(super) struct TrustedPeerDiscoveryReconcileResult {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrustedPeerFingerprintReconcileResult` is never constructed
[INFO] [stdout]   --> src/controller/trust.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct TrustedPeerFingerprintReconcileResult {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/controller/trust.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  22 |     pub(crate) fn request_device_trust(&mut self, device_id: &str) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub(crate) fn request_device_trust_many(&mut self, device_ids: &[String]) -> AppResult<usize> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub(crate) fn pending_trust_request(&self) -> Option<PendingTrustRequest> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub(crate) fn respond_to_trust_request(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub(crate) fn apply_trusted_peer(&mut self, next_peer: TrustedPeer) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub(super) fn reconcile_trusted_peers_with_discovered(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub(crate) fn revoke_device_trust(&mut self, device_id: &str) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn revoke_device_trust_many(&mut self, device_ids: &[String]) -> AppResult<usize> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub(super) fn revoke_device_trust_local(&mut self, device_id: &str) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn remove_trusted_peer(&mut self, device_id: &str) -> AppResult<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn clear_removed_trusted_device_state(&mut self, device_ids: &[String]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reconcile_trusted_peer_by_fingerprint` is never used
[INFO] [stdout]    --> src/controller/trust.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn reconcile_trusted_peer_by_fingerprint<T>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TrustedPeerLike` is never used
[INFO] [stdout]    --> src/controller/trust.rs:377:7
[INFO] [stdout]     |
[INFO] [stdout] 377 | trait TrustedPeerLike {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `devices_changed`, `transfer_changed`, and `paste_requested` are never read
[INFO] [stdout]   --> src/controller/types.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct TickOutcome {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 23 |     pub(crate) history_changed: bool,
[INFO] [stdout] 24 |     pub(crate) devices_changed: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub(crate) status_changed: bool,
[INFO] [stdout] 26 |     pub(crate) transfer_changed: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub(crate) paste_requested: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TickOutcome` 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 `merge` is never used
[INFO] [stdout]   --> src/controller/types.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl TickOutcome {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 38 |     pub(super) fn merge(&mut self, other: Self) {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HistoryActivation` is never used
[INFO] [stdout]   --> src/controller/types.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) enum HistoryActivation {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeviceStatusKind` is never used
[INFO] [stdout]   --> src/controller/types.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) enum DeviceStatusKind {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device_last_seen` and `last_clipboard_poll` are never read
[INFO] [stdout]   --> src/controller/types.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) struct AppController {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub(super) device_last_seen: HashMap<String, OffsetDateTime>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub(super) last_clipboard_poll: Instant,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config_store` and `clipboard` are never read
[INFO] [stdout]    --> src/controller/types.rs:98:16
[INFO] [stdout]     |
[INFO] [stdout]  95 | pub(super) struct ControllerServices {
[INFO] [stdout]     |                   ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub(super) config_store: ConfigStore,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub(super) clipboard: Box<dyn ClipboardBackend>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id`, `source_device_name`, `summary`, `bytes_done`, and `bytes_total` are never read
[INFO] [stdout]    --> src/controller/types.rs:108:16
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(super) struct ActiveTransferState {
[INFO] [stdout]     |                   ------------------- fields in this struct
[INFO] [stdout] 108 |     pub(super) item_id: Uuid,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 109 |     pub(super) source_device_name: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |     pub(super) summary: String,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 111 |     pub(super) bytes_done: u64,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 112 |     pub(super) bytes_total: u64,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActiveTransferState` 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 `HistoryRow` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) struct HistoryRow {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryScopeOption` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub(crate) struct HistoryScopeOption {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `key` is never used
[INFO] [stdout]    --> src/controller/types.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl HistoryScope {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub(crate) fn key(&self) -> String {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/controller/types.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(super) struct HistoryEntry {
[INFO] [stdout]     |                   ------------ fields in this struct
[INFO] [stdout] 181 |     pub(super) id: Uuid,
[INFO] [stdout] 182 |     pub(super) kind: ClipboardKind,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 183 |     pub(super) created_at: OffsetDateTime,
[INFO] [stdout] 184 |     pub(super) source_device_id: Option<String>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub(super) source_badge: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 186 |     pub(super) source_tooltip: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 187 |     pub(super) summary_text: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 188 |     pub(super) detail_tooltip: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 189 |     pub(super) search_blob: String,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 190 |     pub(super) is_remote: bool,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HistoryEntry` 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 `SettingsSnapshot` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:195:19
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) struct SettingsSnapshot {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettingsUpdate` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:209:19
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub(crate) struct SettingsUpdate {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettingsDeviceEntry` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub(crate) struct SettingsDeviceEntry {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll` and `write_item` are never used
[INFO] [stdout]   --> src/core/clipboard.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait ClipboardBackend: Send + Sync {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn poll(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn write_item(&self, item: &ClipboardItem) -> AppResult<()>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_item_from_text` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn build_item_from_text(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_item_from_paths` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn build_item_from_paths(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_file_descriptors` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn detect_file_descriptors(text: &str) -> Option<Vec<FileDescriptor>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_file_descriptors` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn collect_file_descriptors(paths: &[PathBuf]) -> Option<Vec<FileDescriptor>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_item_from_descriptors` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn build_item_from_descriptors(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_candidate_path` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn parse_candidate_path(raw: &str) -> Option<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_directory_files` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn collect_directory_files(root: &Path, current: &Path, files: &mut Vec<FileDescriptor>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `descriptor_from_path` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn descriptor_from_path(path: &Path, relative: &str) -> FileDescriptor {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `summarize_text` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn summarize_text(text: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `summarize_files` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn summarize_files(files: &[FileDescriptor]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_strings` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn hash_strings(prefix: &str, values: &[String]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_clipboard_text` and `local_file_parent_directories` are never used
[INFO] [stdout]   --> src/core/model.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl ClipboardItem {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn as_clipboard_text(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn local_file_parent_directories(&self) -> Vec<PathBuf> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RequestTrust`, `NotifyTrustRevoked`, `ResolveTrustRequest`, `FetchRemoteClipboardItem`, and `FetchRemoteFiles` are never constructed
[INFO] [stdout]   --> src/core/runtime.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum RuntimeCommand {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 60 |     RequestTrust {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     NotifyTrustRevoked {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     ResolveTrustRequest {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     FetchRemoteClipboardItem {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     FetchRemoteFiles(ClipboardItem),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/runtime.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 |     PeerList(Vec<DiscoveredPeer>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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] 85 -     PeerList(Vec<DiscoveredPeer>),
[INFO] [stdout] 85 +     PeerList(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request_id` and `peer` are never read
[INFO] [stdout]   --> src/core/runtime.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     TrustRequestReceived {
[INFO] [stdout]    |     -------------------- fields in this variant
[INFO] [stdout] 87 |         request_id: Uuid,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 88 |         peer: DiscoveredPeer,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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 `peer` and `accepted` are never read
[INFO] [stdout]   --> src/core/runtime.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     TrustRequestCompleted {
[INFO] [stdout]    |     --------------------- fields in this variant
[INFO] [stdout] 91 |         peer: DiscoveredPeer,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 92 |         accepted: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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 `peer_device_id` and `message` are never read
[INFO] [stdout]   --> src/core/runtime.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     TrustRequestFailed {
[INFO] [stdout]    |     ------------------ fields in this variant
[INFO] [stdout] 95 |         peer_device_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 96 |         message: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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 `peer_device_id` and `peer_device_name` are never read
[INFO] [stdout]    --> src/core/runtime.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  98 |     TrustRevokedByPeer {
[INFO] [stdout]     |     ------------------ fields in this variant
[INFO] [stdout]  99 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 100 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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 `peer_device_id`, `peer_device_name`, and `share_local_history` are never read
[INFO] [stdout]    --> src/core/runtime.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     RemoteShareStateChanged {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 103 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 104 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |         share_local_history: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     InboundClipboard(ClipboardItem),
[INFO] [stdout]     |     ---------------- ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 107 -     InboundClipboard(ClipboardItem),
[INFO] [stdout] 107 +     InboundClipboard(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peer_device_id`, `peer_device_name`, and `item_ids` are never read
[INFO] [stdout]    --> src/core/runtime.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     RemoteHistoryItemsRemoved {
[INFO] [stdout]     |     ------------------------- fields in this variant
[INFO] [stdout] 109 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 110 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |         item_ids: Vec<Uuid>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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 `peer_device_id`, `peer_device_name`, and `items` are never read
[INFO] [stdout]    --> src/core/runtime.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     HistorySnapshotReceived {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 114 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 115 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 116 |         items: Vec<ClipboardItem>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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 `peer_device_id` and `message` are never read
[INFO] [stdout]    --> src/core/runtime.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     HistorySnapshotFailed {
[INFO] [stdout]     |     --------------------- fields in this variant
[INFO] [stdout] 119 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 120 |         message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:122:29
[INFO] [stdout]     |
[INFO] [stdout] 122 |     RemoteClipboardResolved(ClipboardItem),
[INFO] [stdout]     |     ----------------------- ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 122 -     RemoteClipboardResolved(ClipboardItem),
[INFO] [stdout] 122 +     RemoteClipboardResolved(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id` and `message` are never read
[INFO] [stdout]    --> src/core/runtime.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     RemoteClipboardFailed {
[INFO] [stdout]     |     --------------------- fields in this variant
[INFO] [stdout] 124 |         item_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 125 |         message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:127:25
[INFO] [stdout]     |
[INFO] [stdout] 127 |     RemoteFilesResolved(ClipboardItem),
[INFO] [stdout]     |     ------------------- ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 127 -     RemoteFilesResolved(ClipboardItem),
[INFO] [stdout] 127 +     RemoteFilesResolved(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id` and `message` are never read
[INFO] [stdout]    --> src/core/runtime.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     RemoteFilesFailed {
[INFO] [stdout]     |     ----------------- fields in this variant
[INFO] [stdout] 129 |         item_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 130 |         message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:132:26
[INFO] [stdout]     |
[INFO] [stdout] 132 |     FileTransferProgress(FileTransferProgress),
[INFO] [stdout]     |     -------------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 132 -     FileTransferProgress(FileTransferProgress),
[INFO] [stdout] 132 +     FileTransferProgress(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Status(String),
[INFO] [stdout]     |     ------ ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 133 -     Status(String),
[INFO] [stdout] 133 +     Status(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id`, `source_device_name`, and `summary` are never read
[INFO] [stdout]    --> src/core/runtime.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct FileTransferProgress {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 139 |     pub item_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 140 |     pub source_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     pub summary: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileTransferProgress` 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 `event_rx` is never read
[INFO] [stdout]    --> src/core/runtime.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct RuntimeBridge {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 148 |     command_tx: UnboundedSender<RuntimeCommand>,
[INFO] [stdout] 149 |     event_rx: Receiver<RuntimeEvent>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeBridge` 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 `try_recv` is never used
[INFO] [stdout]    --> src/core/runtime.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl RuntimeBridge {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn try_recv(&self) -> Option<RuntimeEvent> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `clipboard` and `last_signature` are never read
[INFO] [stdout]   --> src/platform/system.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct SystemClipboard {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 16 |     clipboard: Mutex<Clipboard>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     last_signature: Mutex<Option<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APP_BUNDLE_ID` is never used
[INFO] [stdout]   --> src/constants.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub(crate) const APP_BUNDLE_ID: &str = "com.benfach.cliplink";
[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 `LOCAL_DATA_KEY_ACCOUNT` is never used
[INFO] [stdout]   --> src/constants.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub(crate) const LOCAL_DATA_KEY_ACCOUNT: &str = "local-data-master-key";
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_DEVICE_NAME_CHARS` is never used
[INFO] [stdout]    --> src/constants.rs:112:22
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub(crate) const MAX_DEVICE_NAME_CHARS: usize = 64;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_HISTORY_LIMIT` is never used
[INFO] [stdout]    --> src/constants.rs:115:22
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const MAX_HISTORY_LIMIT: usize = 500;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MACOS_CLIPBOARD_POLL_INTERVAL` is never used
[INFO] [stdout]    --> src/constants.rs:154:22
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub(crate) const MACOS_CLIPBOARD_POLL_INTERVAL: Duration = Duration::from_millis(120);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMMEDIATE_PASTE_DELAY` is never used
[INFO] [stdout]    --> src/constants.rs:158:22
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub(crate) const IMMEDIATE_PASTE_DELAY: Duration = Duration::from_millis(16);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MACOS_UI_TICK_INTERVAL_SECONDS` is never used
[INFO] [stdout]    --> src/constants.rs:162:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub(crate) const MACOS_UI_TICK_INTERVAL_SECONDS: f64 = 0.12;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/controller/history.rs:17:19
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl AppController {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  16 |     #[cfg_attr(target_os = "android", allow(dead_code))]
[INFO] [stdout]  17 |     pub(crate) fn report_status(&mut self, status: impl Into<String>) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub(crate) fn status_text(&self) -> Option<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub(crate) fn transfer_progress_snapshot(&self) -> Option<TransferProgressSnapshot> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub(crate) fn history_scope_options(&self) -> Vec<HistoryScopeOption> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub(crate) fn normalize_history_scope(&self, scope: HistoryScope) -> HistoryScope {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub(crate) fn history_rows_with_scope(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub(crate) fn load_item(&self, id: Uuid) -> AppResult<Option<ClipboardItem>> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub(crate) fn recent_menu_entries(&self, limit: usize) -> Vec<(Uuid, String)> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub(crate) fn clear_history_with_options(&mut self, include_pinned: bool) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub(crate) fn set_history_items_pinned(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub(crate) fn copy_item(&mut self, id: Uuid) -> AppResult<HistoryActivation> {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     fn sorted_history_entries(&self) -> Vec<&HistoryEntry> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     fn activate_cached_remote_item(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub(super) fn merge_local_item_with_existing_state(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |     pub(super) fn merge_remote_item_with_cached_state(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn merge_item_with_existing_state(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub(super) fn replace_remote_history_snapshot(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 499 |     pub(super) fn clear_remote_history_for_peer(&mut self, peer_device_id: &str) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub(super) fn clear_remote_history_for_peers<'a>(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     pub(super) fn upsert_remote_history_item(&mut self, item: ClipboardItem) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `history_entry_to_row` is never used
[INFO] [stdout]   --> src/controller/history_presenter.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AppController {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 10 |     pub(super) fn history_entry_to_row(entry: &HistoryEntry) -> HistoryRow {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `signature` and `total_size_bytes` are never read
[INFO] [stdout]   --> src/controller/remote.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(super) struct RemoteHistoryItem {
[INFO] [stdout]    |                   ----------------- fields in this struct
[INFO] [stdout] 24 |     pub(super) source_device_id: Option<String>,
[INFO] [stdout] 25 |     pub(super) signature: String,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 26 |     pub(super) total_size_bytes: u64,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RemoteHistoryItem` 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 `item` is never read
[INFO] [stdout]   --> src/controller/remote.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct CachedRemoteContent {
[INFO] [stdout]    |        ------------------- field in this struct
[INFO] [stdout] 39 |     item: ClipboardItem,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedRemoteContent` 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 `cached_item`, `latest_cached_item`, `cache_item`, and `touch_item` are never used
[INFO] [stdout]    --> src/controller/remote.rs:55:19
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl RemoteHistorySession {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub(super) fn cached_item(&self, id: Uuid) -> Option<ClipboardItem> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub(super) fn latest_cached_item(&self) -> Option<ClipboardItem> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub(super) fn cache_item(&mut self, item: ClipboardItem) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub(super) fn touch_item(&mut self, id: Uuid, created_at: OffsetDateTime) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_placeholder_item` is never used
[INFO] [stdout]    --> src/controller/remote.rs:247:19
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl RemoteHistoryItem {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub(super) fn to_placeholder_item(&self) -> ClipboardItem {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/controller/remote.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl RemoteContentCache {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn get(&self, id: Uuid) -> Option<ClipboardItem> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tick`, `notify_share_state`, `preferred_latest_item`, `sync_preferred_latest_to_clipboard`, and `apply_transfer_progress` are never used
[INFO] [stdout]    --> src/controller/runtime.rs:15:19
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  15 |     pub(crate) fn tick(&mut self) -> TickOutcome {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub(super) fn notify_share_state(&mut self, share_local_history: bool) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn preferred_latest_item(&self) -> AppResult<Option<ClipboardItem>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub(super) fn sync_preferred_latest_to_clipboard(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub(super) fn apply_transfer_progress(&mut self, progress: FileTransferProgress) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/controller/runtime_events.rs:11:19
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  11 |     pub(super) fn handle_runtime_event(&mut self, event: RuntimeEvent, outcome: &mut TickOutcome) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn handle_peer_list_event(&mut self, peers: Vec<DiscoveredPeer>, outcome: &mut TickOutcome) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     fn handle_trust_request_received_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn handle_trust_request_completed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn handle_trust_request_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn handle_trust_revoked_by_peer_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn handle_remote_share_state_changed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn handle_inbound_clipboard_event(&mut self, item: ClipboardItem, outcome: &mut TickOutcome) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn handle_history_snapshot_received_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     fn handle_remote_history_items_removed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn handle_history_snapshot_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     fn handle_remote_clipboard_resolved_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     fn handle_remote_clipboard_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn handle_remote_files_resolved_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     fn handle_remote_files_failed_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     fn handle_file_transfer_progress_event(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn handle_runtime_status_event(&mut self, status: String, outcome: &mut TickOutcome) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     fn store_live_remote_item(&mut self, item: ClipboardItem) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn store_resolved_remote_item(&mut self, item: &ClipboardItem) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/controller/settings.rs:12:19
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  12 |     pub(crate) fn hotkey(&self) -> &str {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  20 |     pub(crate) fn settings_snapshot(&self) -> SettingsSnapshot {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub(crate) fn settings_device_entries(&self) -> Vec<SettingsDeviceEntry> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub(crate) fn current_settings_update(&self) -> SettingsUpdate {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub(crate) fn normalize_settings_update(&self, mut update: SettingsUpdate) -> SettingsUpdate {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub(crate) fn validate_settings_update(&self, update: &SettingsUpdate) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub(crate) fn apply_settings(&mut self, update: SettingsUpdate) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub(crate) fn set_preferences_visible(&mut self, visible: bool) -> AppResult<()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(crate) fn launch_at_login_enabled(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrustedPeerDiscoveryReconcileResult` is never constructed
[INFO] [stdout]   --> src/controller/trust.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(super) struct TrustedPeerDiscoveryReconcileResult {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/controller/trust.rs:22:19
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl AppController {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout]  22 |     pub(crate) fn request_device_trust(&mut self, device_id: &str) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub(crate) fn request_device_trust_many(&mut self, device_ids: &[String]) -> AppResult<usize> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub(crate) fn pending_trust_request(&self) -> Option<PendingTrustRequest> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub(crate) fn respond_to_trust_request(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub(crate) fn apply_trusted_peer(&mut self, next_peer: TrustedPeer) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub(super) fn reconcile_trusted_peers_with_discovered(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub(crate) fn revoke_device_trust(&mut self, device_id: &str) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub(crate) fn revoke_device_trust_many(&mut self, device_ids: &[String]) -> AppResult<usize> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub(super) fn revoke_device_trust_local(&mut self, device_id: &str) -> AppResult<bool> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn remove_trusted_peer(&mut self, device_id: &str) -> AppResult<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn clear_removed_trusted_device_state(&mut self, device_ids: &[String]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `devices_changed`, `transfer_changed`, and `paste_requested` are never read
[INFO] [stdout]   --> src/controller/types.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct TickOutcome {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 23 |     pub(crate) history_changed: bool,
[INFO] [stdout] 24 |     pub(crate) devices_changed: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub(crate) status_changed: bool,
[INFO] [stdout] 26 |     pub(crate) transfer_changed: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub(crate) paste_requested: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TickOutcome` 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 `merge` is never used
[INFO] [stdout]   --> src/controller/types.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl TickOutcome {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 38 |     pub(super) fn merge(&mut self, other: Self) {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HistoryActivation` is never used
[INFO] [stdout]   --> src/controller/types.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub(crate) enum HistoryActivation {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_clipboard_poll` is never read
[INFO] [stdout]   --> src/controller/types.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) struct AppController {
[INFO] [stdout]    |                   ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub(super) last_clipboard_poll: Instant,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config_store` and `clipboard` are never read
[INFO] [stdout]    --> src/controller/types.rs:98:16
[INFO] [stdout]     |
[INFO] [stdout]  95 | pub(super) struct ControllerServices {
[INFO] [stdout]     |                   ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub(super) config_store: ConfigStore,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub(super) clipboard: Box<dyn ClipboardBackend>,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id`, `source_device_name`, `summary`, `bytes_done`, and `bytes_total` are never read
[INFO] [stdout]    --> src/controller/types.rs:108:16
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub(super) struct ActiveTransferState {
[INFO] [stdout]     |                   ------------------- fields in this struct
[INFO] [stdout] 108 |     pub(super) item_id: Uuid,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 109 |     pub(super) source_device_name: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |     pub(super) summary: String,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 111 |     pub(super) bytes_done: u64,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout] 112 |     pub(super) bytes_total: u64,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActiveTransferState` 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 `HistoryRow` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) struct HistoryRow {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryScopeOption` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub(crate) struct HistoryScopeOption {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `key` is never used
[INFO] [stdout]    --> src/controller/types.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl HistoryScope {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub(crate) fn key(&self) -> String {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/controller/types.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub(super) struct HistoryEntry {
[INFO] [stdout]     |                   ------------ fields in this struct
[INFO] [stdout] 181 |     pub(super) id: Uuid,
[INFO] [stdout] 182 |     pub(super) kind: ClipboardKind,
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 183 |     pub(super) created_at: OffsetDateTime,
[INFO] [stdout] 184 |     pub(super) source_device_id: Option<String>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub(super) source_badge: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 186 |     pub(super) source_tooltip: String,
[INFO] [stdout] 187 |     pub(super) summary_text: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout] 188 |     pub(super) detail_tooltip: String,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 189 |     pub(super) search_blob: String,
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 190 |     pub(super) is_remote: bool,
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HistoryEntry` 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 `SettingsSnapshot` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:195:19
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub(crate) struct SettingsSnapshot {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettingsUpdate` is never constructed
[INFO] [stdout]    --> src/controller/types.rs:209:19
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub(crate) struct SettingsUpdate {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `poll` and `write_item` are never used
[INFO] [stdout]   --> src/core/clipboard.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait ClipboardBackend: Send + Sync {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn poll(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn write_item(&self, item: &ClipboardItem) -> AppResult<()>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_item_from_text` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn build_item_from_text(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_item_from_paths` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn build_item_from_paths(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_file_descriptors` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn detect_file_descriptors(text: &str) -> Option<Vec<FileDescriptor>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_file_descriptors` is never used
[INFO] [stdout]   --> src/core/clipboard.rs:81:4
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn collect_file_descriptors(paths: &[PathBuf]) -> Option<Vec<FileDescriptor>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_item_from_descriptors` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn build_item_from_descriptors(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_candidate_path` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn parse_candidate_path(raw: &str) -> Option<PathBuf> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_directory_files` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | fn collect_directory_files(root: &Path, current: &Path, files: &mut Vec<FileDescriptor>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `descriptor_from_path` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn descriptor_from_path(path: &Path, relative: &str) -> FileDescriptor {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `summarize_text` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn summarize_text(text: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `summarize_files` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn summarize_files(files: &[FileDescriptor]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hash_strings` is never used
[INFO] [stdout]    --> src/core/clipboard.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn hash_strings(prefix: &str, values: &[String]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_clipboard_text` and `local_file_parent_directories` are never used
[INFO] [stdout]   --> src/core/model.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl ClipboardItem {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn as_clipboard_text(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn local_file_parent_directories(&self) -> Vec<PathBuf> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RequestTrust`, `NotifyTrustRevoked`, `ResolveTrustRequest`, `FetchRemoteClipboardItem`, and `FetchRemoteFiles` are never constructed
[INFO] [stdout]   --> src/core/runtime.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum RuntimeCommand {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 60 |     RequestTrust {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     NotifyTrustRevoked {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     ResolveTrustRequest {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     FetchRemoteClipboardItem {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     FetchRemoteFiles(ClipboardItem),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/runtime.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 |     PeerList(Vec<DiscoveredPeer>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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] 85 -     PeerList(Vec<DiscoveredPeer>),
[INFO] [stdout] 85 +     PeerList(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `request_id` and `peer` are never read
[INFO] [stdout]   --> src/core/runtime.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     TrustRequestReceived {
[INFO] [stdout]    |     -------------------- fields in this variant
[INFO] [stdout] 87 |         request_id: Uuid,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 88 |         peer: DiscoveredPeer,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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 `peer` and `accepted` are never read
[INFO] [stdout]   --> src/core/runtime.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     TrustRequestCompleted {
[INFO] [stdout]    |     --------------------- fields in this variant
[INFO] [stdout] 91 |         peer: DiscoveredPeer,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 92 |         accepted: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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 `peer_device_id` and `message` are never read
[INFO] [stdout]   --> src/core/runtime.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     TrustRequestFailed {
[INFO] [stdout]    |     ------------------ fields in this variant
[INFO] [stdout] 95 |         peer_device_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 96 |         message: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RuntimeEvent` 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 `peer_device_id` and `peer_device_name` are never read
[INFO] [stdout]    --> src/core/runtime.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  98 |     TrustRevokedByPeer {
[INFO] [stdout]     |     ------------------ fields in this variant
[INFO] [stdout]  99 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 100 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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 `peer_device_id`, `peer_device_name`, and `share_local_history` are never read
[INFO] [stdout]    --> src/core/runtime.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     RemoteShareStateChanged {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 103 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 104 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |         share_local_history: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     InboundClipboard(ClipboardItem),
[INFO] [stdout]     |     ---------------- ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 107 -     InboundClipboard(ClipboardItem),
[INFO] [stdout] 107 +     InboundClipboard(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peer_device_id`, `peer_device_name`, and `item_ids` are never read
[INFO] [stdout]    --> src/core/runtime.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     RemoteHistoryItemsRemoved {
[INFO] [stdout]     |     ------------------------- fields in this variant
[INFO] [stdout] 109 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 110 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |         item_ids: Vec<Uuid>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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 `peer_device_id`, `peer_device_name`, and `items` are never read
[INFO] [stdout]    --> src/core/runtime.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     HistorySnapshotReceived {
[INFO] [stdout]     |     ----------------------- fields in this variant
[INFO] [stdout] 114 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 115 |         peer_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 116 |         items: Vec<ClipboardItem>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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 `peer_device_id` and `message` are never read
[INFO] [stdout]    --> src/core/runtime.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     HistorySnapshotFailed {
[INFO] [stdout]     |     --------------------- fields in this variant
[INFO] [stdout] 119 |         peer_device_id: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 120 |         message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:122:29
[INFO] [stdout]     |
[INFO] [stdout] 122 |     RemoteClipboardResolved(ClipboardItem),
[INFO] [stdout]     |     ----------------------- ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 122 -     RemoteClipboardResolved(ClipboardItem),
[INFO] [stdout] 122 +     RemoteClipboardResolved(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id` and `message` are never read
[INFO] [stdout]    --> src/core/runtime.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     RemoteClipboardFailed {
[INFO] [stdout]     |     --------------------- fields in this variant
[INFO] [stdout] 124 |         item_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 125 |         message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:127:25
[INFO] [stdout]     |
[INFO] [stdout] 127 |     RemoteFilesResolved(ClipboardItem),
[INFO] [stdout]     |     ------------------- ^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 127 -     RemoteFilesResolved(ClipboardItem),
[INFO] [stdout] 127 +     RemoteFilesResolved(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id` and `message` are never read
[INFO] [stdout]    --> src/core/runtime.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     RemoteFilesFailed {
[INFO] [stdout]     |     ----------------- fields in this variant
[INFO] [stdout] 129 |         item_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 130 |         message: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:132:26
[INFO] [stdout]     |
[INFO] [stdout] 132 |     FileTransferProgress(FileTransferProgress),
[INFO] [stdout]     |     -------------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 132 -     FileTransferProgress(FileTransferProgress),
[INFO] [stdout] 132 +     FileTransferProgress(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/core/runtime.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Status(String),
[INFO] [stdout]     |     ------ ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeEvent` 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] 133 -     Status(String),
[INFO] [stdout] 133 +     Status(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `item_id`, `source_device_name`, and `summary` are never read
[INFO] [stdout]    --> src/core/runtime.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct FileTransferProgress {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 139 |     pub item_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 140 |     pub source_device_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     pub summary: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileTransferProgress` 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 `event_rx` is never read
[INFO] [stdout]    --> src/core/runtime.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct RuntimeBridge {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 148 |     command_tx: UnboundedSender<RuntimeCommand>,
[INFO] [stdout] 149 |     event_rx: Receiver<RuntimeEvent>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeBridge` 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 `try_recv` is never used
[INFO] [stdout]    --> src/core/runtime.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl RuntimeBridge {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn try_recv(&self) -> Option<RuntimeEvent> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `clipboard` and `last_signature` are never read
[INFO] [stdout]   --> src/platform/system.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct SystemClipboard {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 16 |     clipboard: Mutex<Clipboard>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     last_signature: Mutex<Option<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized] target(s) in 1m 53s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quinn v0.11.9, quinn-udp v0.5.14
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300", kill_on_drop: false }`
[INFO] [stdout] f6dda37e1b2f342d9f27d53ca8f5289e75b3a4412975aa4aa9c1dcb4d969a300
