[INFO] cloning repository https://github.com/arsfeld/spillway [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/arsfeld/spillway" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farsfeld%2Fspillway", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farsfeld%2Fspillway'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 09973dd377f57ec4b8b1dda353d16d371a6fb5d2 [INFO] checking arsfeld/spillway/09973dd377f57ec4b8b1dda353d16d371a6fb5d2 against master#f8463896a9b36a04899c013bd8825a7fd29dd7a4 for pr-151920 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farsfeld%2Fspillway" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/arsfeld/spillway [INFO] finished tweaking git repo https://github.com/arsfeld/spillway [INFO] tweaked toml for git repo https://github.com/arsfeld/spillway written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/arsfeld/spillway on toolchain f8463896a9b36a04899c013bd8825a7fd29dd7a4 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f8463896a9b36a04899c013bd8825a7fd29dd7a4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/arsfeld/spillway 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" "+f8463896a9b36a04899c013bd8825a7fd29dd7a4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded match_token v0.1.0 [INFO] [stderr] Downloaded scraper v0.22.0 [INFO] [stderr] Downloaded gdkx11-sys v0.18.2 [INFO] [stderr] Downloaded dioxus-devtools-types v0.7.1 [INFO] [stderr] Downloaded dioxus-html-internal-macro v0.7.1 [INFO] [stderr] Downloaded subsecond-types v0.7.1 [INFO] [stderr] Downloaded dioxus-config-macros v0.7.1 [INFO] [stderr] Downloaded dioxus-config-macro v0.7.1 [INFO] [stderr] Downloaded objc2-exception-helper v0.1.1 [INFO] [stderr] Downloaded webview2-com-macros v0.8.0 [INFO] [stderr] Downloaded windows-version v0.1.7 [INFO] [stderr] Downloaded tokio-tungstenite v0.27.0 [INFO] [stderr] Downloaded dlopen2 v0.8.1 [INFO] [stderr] Downloaded cocoa v0.26.1 [INFO] [stderr] Downloaded global-hotkey v0.7.0 [INFO] [stderr] Downloaded dioxus-fullstack v0.7.1 [INFO] [stderr] Downloaded webkit2gtk v2.0.1 [INFO] [stderr] Downloaded dioxus-core v0.7.1 [INFO] [stderr] Downloaded feed-rs v2.3.1 [INFO] [stderr] Downloaded rusqlite v0.33.0 [INFO] [stderr] Downloaded objc2-web-kit v0.3.2 [INFO] [stderr] Downloaded tungstenite v0.27.0 [INFO] [stderr] Downloaded wry v0.53.5 [INFO] [stderr] Downloaded dioxus v0.7.1 [INFO] [stderr] Downloaded dioxus-html v0.7.1 [INFO] [stderr] Downloaded const_format v0.2.35 [INFO] [stderr] Downloaded tao v0.34.5 [INFO] [stderr] Downloaded tray-icon v0.21.2 [INFO] [stderr] Downloaded cssparser v0.29.6 [INFO] [stderr] Downloaded dioxus-server v0.7.1 [INFO] [stderr] Downloaded mediatype v0.19.20 [INFO] [stderr] Downloaded selectors v0.24.0 [INFO] [stderr] Downloaded dioxus-desktop v0.7.1 [INFO] [stderr] Downloaded soup3 v0.5.0 [INFO] [stderr] Downloaded webkit2gtk-sys v2.0.1 [INFO] [stderr] Downloaded webview2-com v0.38.0 [INFO] [stderr] Downloaded async-tungstenite v0.31.0 [INFO] [stderr] Downloaded const-str v0.7.0 [INFO] [stderr] Downloaded dioxus-router-macro v0.7.1 [INFO] [stderr] Downloaded dioxus-router v0.7.1 [INFO] [stderr] Downloaded serde_qs v0.15.0 [INFO] [stderr] Downloaded askama_escape v0.13.0 [INFO] [stderr] Downloaded dioxus-stores v0.7.1 [INFO] [stderr] Downloaded dioxus-document v0.7.1 [INFO] [stderr] Downloaded dioxus-rsx v0.7.1 [INFO] [stderr] Downloaded dioxus-interpreter-js v0.7.1 [INFO] [stderr] Downloaded dioxus-signals v0.7.1 [INFO] [stderr] Downloaded generational-box v0.7.1 [INFO] [stderr] Downloaded dioxus-web v0.7.1 [INFO] [stderr] Downloaded html5ever v0.29.1 [INFO] [stderr] Downloaded servo_arc v0.2.0 [INFO] [stderr] Downloaded kuchikiki v0.8.8-speedreader [INFO] [stderr] Downloaded tao-macros v0.1.3 [INFO] [stderr] Downloaded javascriptcore-rs v1.1.2 [INFO] [stderr] Downloaded javascriptcore-rs-sys v1.1.1 [INFO] [stderr] Downloaded soup3-sys v0.5.0 [INFO] [stderr] Downloaded infer v0.19.0 [INFO] [stderr] Downloaded dioxus-liveview v0.7.1 [INFO] [stderr] Downloaded dioxus-fullstack-core v0.7.1 [INFO] [stderr] Downloaded dioxus-core-macro v0.7.1 [INFO] [stderr] Downloaded dioxus-hooks v0.7.1 [INFO] [stderr] Downloaded sledgehammer_bindgen_macro v0.6.1 [INFO] [stderr] Downloaded dioxus-cli-config v0.7.1 [INFO] [stderr] Downloaded subsecond v0.7.1 [INFO] [stderr] Downloaded cocoa-foundation v0.2.1 [INFO] [stderr] Downloaded dlopen2_derive v0.4.2 [INFO] [stderr] Downloaded dioxus-asset-resolver v0.7.1 [INFO] [stderr] Downloaded dioxus-logger v0.7.1 [INFO] [stderr] Downloaded const-serialize-macro v0.7.1 [INFO] [stderr] Downloaded const-serialize v0.7.1 [INFO] [stderr] Downloaded manganis v0.7.1 [INFO] [stderr] Downloaded memfd v0.6.5 [INFO] [stderr] Downloaded gdkwayland-sys v0.18.2 [INFO] [stderr] Downloaded content_disposition v0.4.0 [INFO] [stderr] Downloaded dioxus-fullstack-macro v0.7.1 [INFO] [stderr] Downloaded dioxus-stores-macro v0.7.1 [INFO] [stderr] Downloaded lazy-js-bundle v0.7.1 [INFO] [stderr] Downloaded manganis-macro v0.7.1 [INFO] [stderr] Downloaded cssparser v0.34.0 [INFO] [stderr] Downloaded selectors v0.26.0 [INFO] [stderr] Downloaded dioxus-ssr v0.7.1 [INFO] [stderr] Downloaded dioxus-devtools v0.7.1 [INFO] [stderr] Downloaded dioxus-history v0.7.1 [INFO] [stderr] Downloaded dioxus-core-types v0.7.1 [INFO] [stderr] Downloaded manganis-core v0.7.1 [INFO] [stderr] Downloaded markup5ever v0.14.1 [INFO] [stderr] Downloaded webview2-com-sys v0.38.0 [INFO] [stderr] Downloaded libsqlite3-sys v0.31.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+f8463896a9b36a04899c013bd8825a7fd29dd7a4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c0bbb06f873a746532de691e4b3347af2425a69a4f34321c97e5a8922ce36abb [INFO] running `Command { std: "docker" "start" "-a" "c0bbb06f873a746532de691e4b3347af2425a69a4f34321c97e5a8922ce36abb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c0bbb06f873a746532de691e4b3347af2425a69a4f34321c97e5a8922ce36abb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0bbb06f873a746532de691e4b3347af2425a69a4f34321c97e5a8922ce36abb", kill_on_drop: false }` [INFO] [stdout] c0bbb06f873a746532de691e4b3347af2425a69a4f34321c97e5a8922ce36abb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+f8463896a9b36a04899c013bd8825a7fd29dd7a4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bc7b048b88ba2605c6c7967fa73ae0c602af9af87a175edd118c8fc447e47bd5 [INFO] running `Command { std: "docker" "start" "-a" "bc7b048b88ba2605c6c7967fa73ae0c602af9af87a175edd118c8fc447e47bd5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Checking dioxus-core-types v0.7.1 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.106 [INFO] [stderr] Checking longest-increasing-subsequence v0.1.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling wasm-bindgen v0.2.106 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking dioxus-cli-config v0.7.1 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Checking keyboard-types v0.7.0 [INFO] [stderr] Compiling lazy-js-bundle v0.7.1 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Checking psl-types v2.0.11 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Checking webpki-roots v1.0.4 [INFO] [stderr] Checking charset v0.1.5 [INFO] [stderr] Compiling xxhash-rust v0.8.15 [INFO] [stderr] Compiling dioxus-document v0.7.1 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Checking inventory v0.3.21 [INFO] [stderr] Checking matchit v0.8.4 [INFO] [stderr] Compiling base16 v0.2.1 [INFO] [stderr] Checking content_disposition v0.4.0 [INFO] [stderr] Checking send_wrapper v0.6.0 [INFO] [stderr] Checking const-str v0.7.0 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Checking dioxus-config-macros v0.7.1 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling const_format_proc_macros v0.2.34 [INFO] [stderr] Compiling dioxus-config-macro v0.7.1 [INFO] [stderr] Checking euclid v0.22.11 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking memmap2 v0.9.9 [INFO] [stderr] Checking mio v1.1.0 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking const_format v0.2.35 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking cookie v0.18.1 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking rustls-webpki v0.103.8 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.106 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling macro-string v0.1.4 [INFO] [stderr] Compiling dioxus-rsx v0.7.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling warnings-macro v0.2.0 [INFO] [stderr] Compiling zerocopy-derive v0.8.31 [INFO] [stderr] Compiling const-serialize-macro v0.7.1 [INFO] [stderr] Compiling dioxus-html-internal-macro v0.7.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling dioxus-core-macro v0.7.1 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking zerocopy v0.8.31 [INFO] [stderr] Compiling dioxus-fullstack-macro v0.7.1 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Compiling dioxus-stores-macro v0.7.1 [INFO] [stderr] Compiling dioxus-router-macro v0.7.1 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing v0.1.43 [INFO] [stderr] Checking generational-box v0.7.1 [INFO] [stderr] Checking warnings v0.2.1 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.106 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling enumset_derive v0.14.0 [INFO] [stderr] Checking dioxus-logger v0.7.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Compiling const-serialize v0.7.1 [INFO] [stderr] Checking bytes v1.11.0 [INFO] [stderr] Checking subsecond-types v0.7.1 [INFO] [stderr] Checking uuid v1.18.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_qs v0.15.0 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking icu_properties v2.1.1 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Compiling manganis-core v0.7.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking subsecond v0.7.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking cfb v0.7.3 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling manganis-macro v0.7.1 [INFO] [stderr] Checking js-sys v0.3.83 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking dioxus-core v0.7.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking manganis v0.7.1 [INFO] [stderr] Checking infer v0.19.0 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Checking publicsuffix v2.3.0 [INFO] [stderr] Checking enumset v1.1.10 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking tungstenite v0.27.0 [INFO] [stderr] Checking multer v3.1.0 [INFO] [stderr] Checking headers-core v0.3.0 [INFO] [stderr] Checking headers v0.4.1 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking cookie_store v0.21.1 [INFO] [stderr] Checking axum-core v0.5.5 [INFO] [stderr] Checking async-tungstenite v0.31.0 [INFO] [stderr] Checking dioxus-signals v0.7.1 [INFO] [stderr] Checking dioxus-history v0.7.1 [INFO] [stderr] Checking dioxus-devtools-types v0.7.1 [INFO] [stderr] Checking dioxus-hooks v0.7.1 [INFO] [stderr] Checking dioxus-devtools v0.7.1 [INFO] [stderr] Checking dioxus-stores v0.7.1 [INFO] [stderr] Checking dioxus-html v0.7.1 [INFO] [stderr] Checking web-sys v0.3.83 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.56 [INFO] [stderr] Checking dioxus-router v0.7.1 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking dioxus-asset-resolver v0.7.1 [INFO] [stderr] Checking dioxus-fullstack-core v0.7.1 [INFO] [stderr] Checking tower-http v0.6.7 [INFO] [stderr] Checking axum v0.8.7 [INFO] [stderr] Checking hyper-util v0.1.18 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking reqwest v0.12.24 [INFO] [stderr] Checking gloo-utils v0.2.0 [INFO] [stderr] Checking wasm-streams v0.4.2 [INFO] [stderr] Checking gloo-net v0.6.0 [INFO] [stderr] Checking dioxus-fullstack v0.7.1 [INFO] [stderr] Checking dioxus v0.7.1 [INFO] [stderr] Checking spillway v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Stats` [INFO] [stdout] --> src/components/sidebar.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::models::{FilterMode, Folder, FeedWithCount, Stats, ReadStatusOverride}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EntityType`, `SyncOperation`, and `VectorClock` [INFO] [stdout] --> src/hooks/sync.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::sync::{EntityType, EventBuilder, SyncOperation, SyncState, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LocalSyncState` [INFO] [stdout] --> src/sync/engine.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use super::{EntityType, LocalSyncState, OutboxEntry, SyncEvent, SyncOperation, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/sync/merge.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EntityType` [INFO] [stdout] --> src/sync/merge.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use super::{EntityType, SyncEvent, SyncOperation, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stats` [INFO] [stdout] --> src/components/sidebar.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::models::{FilterMode, Folder, FeedWithCount, Stats, ReadStatusOverride}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EntityType`, `SyncOperation`, and `VectorClock` [INFO] [stdout] --> src/hooks/sync.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::sync::{EntityType, EventBuilder, SyncOperation, SyncState, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LocalSyncState` [INFO] [stdout] --> src/sync/engine.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use super::{EntityType, LocalSyncState, OutboxEntry, SyncEvent, SyncOperation, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/sync/merge.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/sync/merge.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | event: &SyncEvent, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/sync/merge.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | event: &SyncEvent, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_apply_event` is never used [INFO] [stdout] --> src/sync/client.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn should_apply_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `device_id` is never read [INFO] [stdout] --> src/sync/engine.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ChangeRecorder { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 235 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverResponse` is never constructed [INFO] [stdout] --> src/server/fever.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FeverResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `authenticated` and `unauthenticated` are never used [INFO] [stdout] --> src/server/fever.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl FeverResponse { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 44 | /// Create a new authenticated response [INFO] [stdout] 45 | pub fn authenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn unauthenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FeverGroup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeed` is never constructed [INFO] [stdout] --> src/server/fever.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct FeverFeed { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeedsGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct FeverFeedsGroup { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverItem` is never constructed [INFO] [stdout] --> src/server/fever.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FeverItem { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverRequest` is never constructed [INFO] [stdout] --> src/server/fever.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub struct FeverRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `device_id` is never read [INFO] [stdout] --> src/sync/engine.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ChangeRecorder { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 235 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverResponse` is never constructed [INFO] [stdout] --> src/server/fever.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FeverResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `authenticated` and `unauthenticated` are never used [INFO] [stdout] --> src/server/fever.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl FeverResponse { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 44 | /// Create a new authenticated response [INFO] [stdout] 45 | pub fn authenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn unauthenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FeverGroup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeed` is never constructed [INFO] [stdout] --> src/server/fever.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct FeverFeed { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeedsGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct FeverFeedsGroup { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverItem` is never constructed [INFO] [stdout] --> src/server/fever.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FeverItem { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverRequest` is never constructed [INFO] [stdout] --> src/server/fever.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub struct FeverRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dioxus::prelude::*` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use dioxus::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stats` [INFO] [stdout] --> src/components/sidebar.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::models::{FilterMode, Folder, FeedWithCount, Stats, ReadStatusOverride}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AuthForm`, `LoginButton`, and `UserMenu` [INFO] [stdout] --> src/components/mod.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub use auth::{AuthForm, LoginButton, UserMenu}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EntityType`, `SyncOperation`, and `VectorClock` [INFO] [stdout] --> src/hooks/sync.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::sync::{EntityType, EventBuilder, SyncOperation, SyncState, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SyncContext` and `SyncStatus` [INFO] [stdout] --> src/hooks/mod.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | pub use sync::{use_sync, SyncButton, SyncContext, SyncStatus, SyncStatusIndicator}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToggleStarRequest` [INFO] [stdout] --> src/models/mod.rs:10:60 [INFO] [stdout] | [INFO] [stdout] 10 | pub use article::{Article, ArticleFilter, MarkReadRequest, ToggleStarRequest, ReadStatusOverride}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Session` [INFO] [stdout] --> src/models/mod.rs:11:75 [INFO] [stdout] | [INFO] [stdout] 11 | pub use user::{User, Device, LoginRequest, RegisterRequest, AuthResponse, Session}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LocalSyncState` [INFO] [stdout] --> src/sync/engine.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use super::{EntityType, LocalSyncState, OutboxEntry, SyncEvent, SyncOperation, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/sync/merge.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EntityType` [INFO] [stdout] --> src/sync/merge.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use super::{EntityType, SyncEvent, SyncOperation, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ApplyResult` [INFO] [stdout] --> src/sync/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub use client::{ApplyResult, EventBuilder, SyncState}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GSet`, `LWWRegister`, and `TwoPhaseSet` [INFO] [stdout] --> src/sync/mod.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub use crdt::{GSet, LWWRegister, TwoPhaseSet}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeRecorder`, `InitialSyncChoice`, `InitialSyncPhase`, `InitialSyncProgress`, `SyncEngineConfig`, `SyncEngine`, `SyncError`, `SyncResult`, `SyncSchedulerConfig`, `SyncScheduler`, and `SyncStatus` [INFO] [stdout] --> src/sync/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ChangeRecorder, InitialSyncChoice, InitialSyncPhase, InitialSyncProgress, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | SyncEngine, SyncEngineConfig, SyncError, SyncResult, SyncScheduler, SyncSchedulerConfig, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | SyncStatus, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ApplyAction`, `ApplyContext`, `ArticlePayload`, `BatchProcessor`, `ConflictStrategy`, `EventMerger`, `FeedPayload`, `FolderPayload`, `LocalEntityState`, and `PayloadExtractor` [INFO] [stdout] --> src/sync/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | ApplyAction, ApplyContext, ArticlePayload, BatchProcessor, ConflictStrategy, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | EventMerger, FeedPayload, FolderPayload, LocalEntityState, PayloadExtractor, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SyncRequest` and `SyncResponse` [INFO] [stdout] --> src/sync/mod.rs:28:58 [INFO] [stdout] | [INFO] [stdout] 28 | pub use protocol::{EntityType, SyncEvent, SyncOperation, SyncRequest, SyncResponse}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BatchResolver`, `ConflictResolver`, `MergedState`, and `Resolution` [INFO] [stdout] --> src/sync/mod.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | pub use resolver::{BatchResolver, ConflictResolver, MergedState, Resolution}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tombstone` [INFO] [stdout] --> src/sync/mod.rs:30:46 [INFO] [stdout] | [INFO] [stdout] 30 | pub use state::{LocalSyncState, OutboxEntry, Tombstone}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClockOrdering` [INFO] [stdout] --> src/sync/mod.rs:31:24 [INFO] [stdout] | [INFO] [stdout] 31 | pub use vector_clock::{ClockOrdering, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dioxus::prelude::*` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use dioxus::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stats` [INFO] [stdout] --> src/components/sidebar.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::models::{FilterMode, Folder, FeedWithCount, Stats, ReadStatusOverride}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AuthForm`, `LoginButton`, and `UserMenu` [INFO] [stdout] --> src/components/mod.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub use auth::{AuthForm, LoginButton, UserMenu}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EntityType`, `SyncOperation`, and `VectorClock` [INFO] [stdout] --> src/hooks/sync.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::sync::{EntityType, EventBuilder, SyncOperation, SyncState, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SyncContext` and `SyncStatus` [INFO] [stdout] --> src/hooks/mod.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | pub use sync::{use_sync, SyncButton, SyncContext, SyncStatus, SyncStatusIndicator}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToggleStarRequest` [INFO] [stdout] --> src/models/mod.rs:10:60 [INFO] [stdout] | [INFO] [stdout] 10 | pub use article::{Article, ArticleFilter, MarkReadRequest, ToggleStarRequest, ReadStatusOverride}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Session` [INFO] [stdout] --> src/models/mod.rs:11:75 [INFO] [stdout] | [INFO] [stdout] 11 | pub use user::{User, Device, LoginRequest, RegisterRequest, AuthResponse, Session}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LocalSyncState` [INFO] [stdout] --> src/sync/engine.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use super::{EntityType, LocalSyncState, OutboxEntry, SyncEvent, SyncOperation, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/sync/merge.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ApplyResult` [INFO] [stdout] --> src/sync/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub use client::{ApplyResult, EventBuilder, SyncState}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GSet`, `LWWRegister`, and `TwoPhaseSet` [INFO] [stdout] --> src/sync/mod.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub use crdt::{GSet, LWWRegister, TwoPhaseSet}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeRecorder`, `InitialSyncChoice`, `InitialSyncPhase`, `InitialSyncProgress`, `SyncEngineConfig`, `SyncEngine`, `SyncError`, `SyncResult`, `SyncSchedulerConfig`, `SyncScheduler`, and `SyncStatus` [INFO] [stdout] --> src/sync/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | ChangeRecorder, InitialSyncChoice, InitialSyncPhase, InitialSyncProgress, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | SyncEngine, SyncEngineConfig, SyncError, SyncResult, SyncScheduler, SyncSchedulerConfig, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | SyncStatus, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ApplyAction`, `ApplyContext`, `ArticlePayload`, `BatchProcessor`, `ConflictStrategy`, `EventMerger`, `FeedPayload`, `FolderPayload`, `LocalEntityState`, and `PayloadExtractor` [INFO] [stdout] --> src/sync/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | ApplyAction, ApplyContext, ArticlePayload, BatchProcessor, ConflictStrategy, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | EventMerger, FeedPayload, FolderPayload, LocalEntityState, PayloadExtractor, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SyncRequest` and `SyncResponse` [INFO] [stdout] --> src/sync/mod.rs:28:58 [INFO] [stdout] | [INFO] [stdout] 28 | pub use protocol::{EntityType, SyncEvent, SyncOperation, SyncRequest, SyncResponse}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BatchResolver`, `ConflictResolver`, `MergedState`, and `Resolution` [INFO] [stdout] --> src/sync/mod.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | pub use resolver::{BatchResolver, ConflictResolver, MergedState, Resolution}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tombstone` [INFO] [stdout] --> src/sync/mod.rs:30:46 [INFO] [stdout] | [INFO] [stdout] 30 | pub use state::{LocalSyncState, OutboxEntry, Tombstone}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClockOrdering` [INFO] [stdout] --> src/sync/mod.rs:31:24 [INFO] [stdout] | [INFO] [stdout] 31 | pub use vector_clock::{ClockOrdering, VectorClock}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/sync/merge.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | event: &SyncEvent, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AuthMode` is never used [INFO] [stdout] --> src/components/auth.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum AuthMode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Syncing`, `Success`, `Error`, and `Offline` are never constructed [INFO] [stdout] --> src/hooks/sync.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SyncStatus { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Syncing { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Success { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Offline, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `syncing`, `success`, `error`, `is_error`, and `last_sync_time` are never used [INFO] [stdout] --> src/hooks/sync.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl SyncStatus { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 27 | /// Create a syncing status [INFO] [stdout] 28 | pub fn syncing(phase: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn success() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn error(message: impl Into, can_retry: bool) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn last_sync_time(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `event_builder` is never read [INFO] [stdout] --> src/hooks/sync.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct SyncContext { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | event_builder: EventBuilder, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/hooks/sync.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl SyncContext { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 86 | /// Get the current device ID [INFO] [stdout] 87 | pub fn device_id(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn has_pending(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn on_folder_created(&mut self, id: i64, name: &str, position: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn on_folder_updated(&mut self, id: i64, name: Option<&str>, position: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn on_folder_deleted(&mut self, id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn on_feed_created(&mut self, id: i64, url: &str, title: &str, folder_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn on_feed_updated(&mut self, id: i64, title: Option<&str>, folder_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn on_feed_deleted(&mut self, id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn on_article_read(&mut self, id: i64, is_read: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn on_article_starred(&mut self, id: i64, is_starred: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn set_online(&mut self, online: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_sync_id` are never used [INFO] [stdout] --> src/models/folder.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Folder { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 24 | /// Create a new folder [INFO] [stdout] 25 | pub fn new(id: i64, name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn with_sync_id(id: i64, name: String, sync_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateFolderRequest` is never constructed [INFO] [stdout] --> src/models/folder.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct CreateFolderRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateFolderRequest` is never constructed [INFO] [stdout] --> src/models/folder.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct UpdateFolderRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_sync_id` are never used [INFO] [stdout] --> src/models/feed.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Feed { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 36 | /// Create a new feed [INFO] [stdout] 37 | pub fn new(id: i64, title: String, url: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn with_sync_id(id: i64, title: String, url: String, sync_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateFeedRequest` is never constructed [INFO] [stdout] --> src/models/feed.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct UpdateFeedRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_sync_id` are never used [INFO] [stdout] --> src/models/article.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Article { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 40 | /// Create a new article [INFO] [stdout] 41 | pub fn new(id: i64, feed_id: i64, guid: String, title: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn with_sync_id(id: i64, feed_id: i64, guid: String, title: String, sync_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToggleStarRequest` is never constructed [INFO] [stdout] --> src/models/article.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct ToggleStarRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> src/models/user.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Device` is never constructed [INFO] [stdout] --> src/models/user.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct Device { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoginRequest` is never constructed [INFO] [stdout] --> src/models/user.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct LoginRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RegisterRequest` is never constructed [INFO] [stdout] --> src/models/user.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct RegisterRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Session` is never constructed [INFO] [stdout] --> src/models/user.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct Session { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncPullResponse` is never constructed [INFO] [stdout] --> src/server/api.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 475 | pub struct SyncPullResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverResponse` is never constructed [INFO] [stdout] --> src/server/fever.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FeverResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `authenticated` and `unauthenticated` are never used [INFO] [stdout] --> src/server/fever.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl FeverResponse { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 44 | /// Create a new authenticated response [INFO] [stdout] 45 | pub fn authenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn unauthenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FeverGroup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeed` is never constructed [INFO] [stdout] --> src/server/fever.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct FeverFeed { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeedsGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct FeverFeedsGroup { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverItem` is never constructed [INFO] [stdout] --> src/server/fever.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FeverItem { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverRequest` is never constructed [INFO] [stdout] --> src/server/fever.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub struct FeverRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `create_event`, `take_pending_events`, `has_pending_events`, `merge_server_events`, `mark_sync_complete`, and `set_online` are never used [INFO] [stdout] --> src/sync/client.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl SyncState { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn create_event( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn take_pending_events(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn has_pending_events(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn merge_server_events(&mut self, _events: &[SyncEvent], server_clock: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn mark_sync_complete(&mut self, server_clock: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn set_online(&mut self, online: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `device_id` is never read [INFO] [stdout] --> src/sync/client.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct EventBuilder { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 101 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EventBuilder` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/sync/client.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl EventBuilder { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn folder_created(&self, id: i64, name: &str, position: i32, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn folder_updated(&self, id: i64, name: Option<&str>, position: Option, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn folder_deleted(&self, id: i64, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn feed_created(&self, id: i64, url: &str, title: &str, folder_id: Option, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn feed_updated(&self, id: i64, title: Option<&str>, folder_id: Option, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn feed_deleted(&self, id: i64, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn article_read(&self, id: i64, is_read: bool, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn article_starred(&self, id: i64, is_starred: bool, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ApplyResult` is never used [INFO] [stdout] --> src/sync/client.rs:235:10 [INFO] [stdout] | [INFO] [stdout] 235 | pub enum ApplyResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `should_apply_event` is never used [INFO] [stdout] --> src/sync/client.rs:247:8 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn should_apply_event( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GSet` is never constructed [INFO] [stdout] --> src/sync/crdt.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct GSet { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/crdt.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl GSet { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] 22 | /// Create a new empty G-Set [INFO] [stdout] 23 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn insert(&mut self, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn contains(&self, value: &T) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn merge(&mut self, other: &GSet) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LWWRegister` is never constructed [INFO] [stdout] --> src/sync/crdt.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct LWWRegister { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/crdt.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl LWWRegister { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 90 | /// Create a new LWW-Register with an initial value [INFO] [stdout] 91 | pub fn new(value: T, device_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn with_timestamp(value: T, timestamp: DateTime, device_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn value(&self) -> &T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn timestamp(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn device_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn set(&mut self, value: T, device_id: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn merge(&mut self, other: &LWWRegister) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwoPhaseSet` is never constructed [INFO] [stdout] --> src/sync/crdt.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct TwoPhaseSet { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/crdt.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 163 | impl TwoPhaseSet { [INFO] [stdout] | ----------------------------------------- associated items in this implementation [INFO] [stdout] 164 | /// Create a new empty 2P-Set [INFO] [stdout] 165 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn insert(&mut self, value: T) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn remove(&mut self, value: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn contains(&self, value: &T) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn merge(&mut self, other: &TwoPhaseSet) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncEngineConfig` is never constructed [INFO] [stdout] --> src/sync/engine.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct SyncEngineConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SyncResult` is never used [INFO] [stdout] --> src/sync/engine.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum SyncResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SyncError` is never used [INFO] [stdout] --> src/sync/engine.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum SyncError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncEngine` is never constructed [INFO] [stdout] --> src/sync/engine.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct SyncEngine { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/engine.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl SyncEngine { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 98 | /// Create a new sync engine [INFO] [stdout] 99 | pub fn new(device_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn with_config(device_id: String, config: SyncEngineConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn set_token(&mut self, token: Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn is_authenticated(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn set_online(&mut self, online: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn is_online(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn device_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn last_sync(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn last_error(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn record_change( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn outbox_to_events(&self, entries: &[OutboxEntry]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn calculate_backoff(&self, attempt: u32) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn mark_sync_complete(&mut self, server_clock: Option<&VectorClock>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn mark_sync_failed(&mut self, error: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn token(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn batch_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn max_retries(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ChangeRecorder` is never constructed [INFO] [stdout] --> src/sync/engine.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ChangeRecorder { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/engine.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 238 | impl ChangeRecorder { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 239 | pub fn new(device_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn folder_created(&self, id: i64, sync_id: String, name: &str, position: i32, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn folder_updated(&self, id: i64, sync_id: Option, name: Option<&str>, position: Option, clock: VectorClock) -... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn folder_deleted(&self, id: i64, sync_id: String, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn feed_created(&self, id: i64, sync_id: String, url: &str, title: &str, folder_id: Option, clock: VectorClock) -> Out... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn feed_updated(&self, id: i64, sync_id: Option, title: Option<&str>, folder_id: Option, clock: VectorClock) -... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 327 | pub fn feed_deleted(&self, id: i64, sync_id: String, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | pub fn article_read(&self, id: i64, sync_id: Option, is_read: bool, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | pub fn article_starred(&self, id: i64, sync_id: Option, is_starred: bool, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SyncStatus` is never used [INFO] [stdout] --> src/sync/engine.rs:373:10 [INFO] [stdout] | [INFO] [stdout] 373 | pub enum SyncStatus { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `syncing`, `syncing_with_progress`, `error`, and `is_syncing` are never used [INFO] [stdout] --> src/sync/engine.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 409 | impl SyncStatus { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 410 | /// Create a syncing status with phase description [INFO] [stdout] 411 | pub fn syncing(phase: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub fn syncing_with_progress(phase: impl Into, progress: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 427 | pub fn error(message: impl Into, can_retry: bool) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn is_syncing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncSchedulerConfig` is never constructed [INFO] [stdout] --> src/sync/engine.rs:442:12 [INFO] [stdout] | [INFO] [stdout] 442 | pub struct SyncSchedulerConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncScheduler` is never constructed [INFO] [stdout] --> src/sync/engine.rs:462:12 [INFO] [stdout] | [INFO] [stdout] 462 | pub struct SyncScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/engine.rs:469:12 [INFO] [stdout] | [INFO] [stdout] 468 | impl SyncScheduler { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 469 | pub fn new(config: SyncSchedulerConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 478 | pub fn enable(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn disable(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 488 | pub fn is_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 493 | pub fn record_sync(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 498 | pub fn sync_interval(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 503 | pub fn should_sync(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 518 | pub fn can_sync(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 529 | pub fn time_until_next_sync(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 549 | pub fn sync_on_foreground(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InitialSyncChoice` is never used [INFO] [stdout] --> src/sync/engine.rs:556:10 [INFO] [stdout] | [INFO] [stdout] 556 | pub enum InitialSyncChoice { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InitialSyncProgress` is never constructed [INFO] [stdout] --> src/sync/engine.rs:567:12 [INFO] [stdout] | [INFO] [stdout] 567 | pub struct InitialSyncProgress { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `percentage` are never used [INFO] [stdout] --> src/sync/engine.rs:579:12 [INFO] [stdout] | [INFO] [stdout] 578 | impl InitialSyncProgress { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 579 | pub fn new(phase: InitialSyncPhase) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 589 | pub fn percentage(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InitialSyncPhase` is never used [INFO] [stdout] --> src/sync/engine.rs:602:10 [INFO] [stdout] | [INFO] [stdout] 602 | pub enum InitialSyncPhase { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `description` is never used [INFO] [stdout] --> src/sync/engine.rs:627:12 [INFO] [stdout] | [INFO] [stdout] 625 | impl InitialSyncPhase { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 626 | /// Get human-readable description of this phase [INFO] [stdout] 627 | pub fn description(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ApplyAction` is never used [INFO] [stdout] --> src/sync/merge.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum ApplyAction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ConflictStrategy` is never used [INFO] [stdout] --> src/sync/merge.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum ConflictStrategy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApplyContext` is never constructed [INFO] [stdout] --> src/sync/merge.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct ApplyContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `with_strategy` are never used [INFO] [stdout] --> src/sync/merge.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl ApplyContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 50 | pub fn new(local_device_id: String, local_clock: VectorClock) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn with_strategy(mut self, strategy: ConflictStrategy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalEntityState` is never constructed [INFO] [stdout] --> src/sync/merge.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct LocalEntityState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EventMerger` is never constructed [INFO] [stdout] --> src/sync/merge.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct EventMerger { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `determine_action`, `handle_create`, `handle_update`, `handle_delete`, and `resolve_conflict` are never used [INFO] [stdout] --> src/sync/merge.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 82 | impl EventMerger { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 83 | pub fn new(context: ApplyContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn determine_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn handle_create( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn handle_update( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn handle_delete( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn resolve_conflict( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PayloadExtractor` is never constructed [INFO] [stdout] --> src/sync/merge.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | pub struct PayloadExtractor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `extract_folder`, `extract_feed`, and `extract_article` are never used [INFO] [stdout] --> src/sync/merge.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 198 | impl PayloadExtractor { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 199 | /// Extract folder data from event payload [INFO] [stdout] 200 | pub fn extract_folder(payload: &serde_json::Value) -> FolderPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn extract_feed(payload: &serde_json::Value) -> FeedPayload { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn extract_article(payload: &serde_json::Value) -> ArticlePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FolderPayload` is never constructed [INFO] [stdout] --> src/sync/merge.rs:235:12 [INFO] [stdout] | [INFO] [stdout] 235 | pub struct FolderPayload { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeedPayload` is never constructed [INFO] [stdout] --> src/sync/merge.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | pub struct FeedPayload { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArticlePayload` is never constructed [INFO] [stdout] --> src/sync/merge.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 251 | pub struct ArticlePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchProcessor` is never constructed [INFO] [stdout] --> src/sync/merge.rs:264:12 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct BatchProcessor { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `process_batch`, `update_clock`, and `local_clock` are never used [INFO] [stdout] --> src/sync/merge.rs:270:12 [INFO] [stdout] | [INFO] [stdout] 269 | impl BatchProcessor { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 270 | pub fn new(context: ApplyContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn process_batch<'a, F>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn update_clock(&mut self, server_clock: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn local_clock(&self) -> &VectorClock { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_sync_id` are never used [INFO] [stdout] --> src/sync/protocol.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl SyncEvent { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 50 | /// Create a new sync event [INFO] [stdout] 51 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn with_sync_id( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncRequest` is never constructed [INFO] [stdout] --> src/sync/protocol.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct SyncRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncResponse` is never constructed [INFO] [stdout] --> src/sync/protocol.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct SyncResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Resolution` is never used [INFO] [stdout] --> src/sync/resolver.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum Resolution { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MergedState` is never constructed [INFO] [stdout] --> src/sync/resolver.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct MergedState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConflictResolver` is never constructed [INFO] [stdout] --> src/sync/resolver.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct ConflictResolver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/resolver.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ConflictResolver { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 43 | pub fn new(device_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn resolve( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn resolve_with_deleted_local(&self, incoming: &SyncEvent) -> Resolution { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn resolve_update( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn resolve_by_timestamp( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn tiebreak_by_device_id(&self, incoming_device_id: &str) -> Resolution { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn merge_article_updates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BatchResolver` is never constructed [INFO] [stdout] --> src/sync/resolver.rs:213:12 [INFO] [stdout] | [INFO] [stdout] 213 | pub struct BatchResolver { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `process_batch`, and `filter_applicable` are never used [INFO] [stdout] --> src/sync/resolver.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 217 | impl BatchResolver { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 218 | pub fn new(device_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn process_batch<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub fn filter_applicable<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LocalSyncState` is never constructed [INFO] [stdout] --> src/sync/state.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct LocalSyncState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/sync/state.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl LocalSyncState { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 33 | /// Create a new local sync state with a generated device ID [INFO] [stdout] 34 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn with_device_id(device_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn set_authenticated(&mut self, user_id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn clear_authentication(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn merge_clock(&mut self, other: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn increment_clock(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn mark_sync_complete(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn is_sync_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OutboxEntry` is never constructed [INFO] [stdout] --> src/sync/state.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `record_failure` are never used [INFO] [stdout] --> src/sync/state.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 134 | impl OutboxEntry { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 135 | /// Create a new outbox entry [INFO] [stdout] 136 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn record_failure(&mut self, error: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tombstone` is never constructed [INFO] [stdout] --> src/sync/state.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct Tombstone { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/sync/state.rs:187:12 [INFO] [stdout] | [INFO] [stdout] 185 | impl Tombstone { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 186 | /// Create a new tombstone [INFO] [stdout] 187 | pub fn new(entity_type: EntityType, entity_id: i64, entity_sync_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `increment`, `get`, `merge`, `compare`, and `has_seen` are never used [INFO] [stdout] --> src/sync/vector_clock.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl VectorClock { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn increment(&mut self, device_id: &str) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn get(&self, device_id: &str) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn merge(&mut self, other: &VectorClock) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn compare(&self, other: &VectorClock) -> ClockOrdering { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn has_seen(&self, other: &VectorClock) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ClockOrdering` is never used [INFO] [stdout] --> src/sync/vector_clock.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub enum ClockOrdering { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/sync/merge.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | event: &SyncEvent, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AuthMode` is never used [INFO] [stdout] --> src/components/auth.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum AuthMode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Syncing`, `Success`, `Error`, and `Offline` are never constructed [INFO] [stdout] --> src/hooks/sync.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum SyncStatus { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | Syncing { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Success { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Offline, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `syncing`, `success`, `error`, `is_error`, and `last_sync_time` are never used [INFO] [stdout] --> src/hooks/sync.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl SyncStatus { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 27 | /// Create a syncing status [INFO] [stdout] 28 | pub fn syncing(phase: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn success() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn error(message: impl Into, can_retry: bool) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn is_error(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn last_sync_time(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `event_builder` is never read [INFO] [stdout] --> src/hooks/sync.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct SyncContext { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | event_builder: EventBuilder, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncContext` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/hooks/sync.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl SyncContext { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 86 | /// Get the current device ID [INFO] [stdout] 87 | pub fn device_id(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn has_pending(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn on_folder_created(&mut self, id: i64, name: &str, position: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn on_folder_updated(&mut self, id: i64, name: Option<&str>, position: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn on_folder_deleted(&mut self, id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn on_feed_created(&mut self, id: i64, url: &str, title: &str, folder_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn on_feed_updated(&mut self, id: i64, title: Option<&str>, folder_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn on_feed_deleted(&mut self, id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn on_article_read(&mut self, id: i64, is_read: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn on_article_starred(&mut self, id: i64, is_starred: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn set_online(&mut self, online: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_sync_id` are never used [INFO] [stdout] --> src/models/folder.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Folder { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 24 | /// Create a new folder [INFO] [stdout] 25 | pub fn new(id: i64, name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn with_sync_id(id: i64, name: String, sync_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateFolderRequest` is never constructed [INFO] [stdout] --> src/models/folder.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct CreateFolderRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateFolderRequest` is never constructed [INFO] [stdout] --> src/models/folder.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct UpdateFolderRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_sync_id` are never used [INFO] [stdout] --> src/models/feed.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Feed { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 36 | /// Create a new feed [INFO] [stdout] 37 | pub fn new(id: i64, title: String, url: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn with_sync_id(id: i64, title: String, url: String, sync_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateFeedRequest` is never constructed [INFO] [stdout] --> src/models/feed.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct UpdateFeedRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `with_sync_id` are never used [INFO] [stdout] --> src/models/article.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Article { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 40 | /// Create a new article [INFO] [stdout] 41 | pub fn new(id: i64, feed_id: i64, guid: String, title: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn with_sync_id(id: i64, feed_id: i64, guid: String, title: String, sync_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ToggleStarRequest` is never constructed [INFO] [stdout] --> src/models/article.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct ToggleStarRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `User` is never constructed [INFO] [stdout] --> src/models/user.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct User { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Device` is never constructed [INFO] [stdout] --> src/models/user.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct Device { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoginRequest` is never constructed [INFO] [stdout] --> src/models/user.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct LoginRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RegisterRequest` is never constructed [INFO] [stdout] --> src/models/user.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct RegisterRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Session` is never constructed [INFO] [stdout] --> src/models/user.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct Session { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncPullResponse` is never constructed [INFO] [stdout] --> src/server/api.rs:475:12 [INFO] [stdout] | [INFO] [stdout] 475 | pub struct SyncPullResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverResponse` is never constructed [INFO] [stdout] --> src/server/fever.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FeverResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `authenticated` and `unauthenticated` are never used [INFO] [stdout] --> src/server/fever.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl FeverResponse { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 44 | /// Create a new authenticated response [INFO] [stdout] 45 | pub fn authenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn unauthenticated() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct FeverGroup { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeed` is never constructed [INFO] [stdout] --> src/server/fever.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct FeverFeed { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverFeedsGroup` is never constructed [INFO] [stdout] --> src/server/fever.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct FeverFeedsGroup { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverItem` is never constructed [INFO] [stdout] --> src/server/fever.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct FeverItem { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeverRequest` is never constructed [INFO] [stdout] --> src/server/fever.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | pub struct FeverRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `merge_server_events`, `mark_sync_complete`, and `set_online` are never used [INFO] [stdout] --> src/sync/client.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl SyncState { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn merge_server_events(&mut self, _events: &[SyncEvent], server_clock: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn mark_sync_complete(&mut self, server_clock: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn set_online(&mut self, online: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `folder_updated`, `folder_deleted`, `feed_created`, `feed_updated`, `feed_deleted`, and `article_starred` are never used [INFO] [stdout] --> src/sync/client.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 104 | impl EventBuilder { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn folder_updated(&self, id: i64, name: Option<&str>, position: Option, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn folder_deleted(&self, id: i64, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn feed_created(&self, id: i64, url: &str, title: &str, folder_id: Option, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn feed_updated(&self, id: i64, title: Option<&str>, folder_id: Option, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn feed_deleted(&self, id: i64, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn article_starred(&self, id: i64, is_starred: bool, clock: VectorClock) -> SyncEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `local_timestamp` is never read [INFO] [stdout] --> src/sync/client.rs:243:16 [INFO] [stdout] | [INFO] [stdout] 243 | Conflict { local_timestamp: DateTime }, [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ApplyResult` 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: variant `NotFound` is never constructed [INFO] [stdout] --> src/sync/client.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub enum ApplyResult { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 241 | NotFound, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplyResult` 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 `is_empty`, `iter`, and `to_vec` are never used [INFO] [stdout] --> src/sync/crdt.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl GSet { [INFO] [stdout] | ---------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `timestamp` is never used [INFO] [stdout] --> src/sync/crdt.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl LWWRegister { [INFO] [stdout] | ----------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn timestamp(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `iter`, and `to_vec` are never used [INFO] [stdout] --> src/sync/crdt.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 163 | impl TwoPhaseSet { [INFO] [stdout] | ----------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn to_vec(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_retries` and `batch_size` are never read [INFO] [stdout] --> src/sync/engine.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct SyncEngineConfig { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 20 | /// Maximum number of retry attempts for push operations [INFO] [stdout] 21 | pub max_retries: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub batch_size: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncEngineConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SyncResult` is never used [INFO] [stdout] --> src/sync/engine.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum SyncResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SyncError` is never used [INFO] [stdout] --> src/sync/engine.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum SyncError { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_config`, `batch_size`, and `max_retries` are never used [INFO] [stdout] --> src/sync/engine.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl SyncEngine { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn with_config(device_id: String, config: SyncEngineConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn batch_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn max_retries(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `device_id` is never read [INFO] [stdout] --> src/sync/engine.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct ChangeRecorder { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 235 | device_id: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `folder_updated`, `folder_deleted`, `feed_created`, `feed_updated`, `feed_deleted`, and `article_starred` are never used [INFO] [stdout] --> src/sync/engine.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 238 | impl ChangeRecorder { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn folder_updated(&self, id: i64, sync_id: Option, name: Option<&str>, position: Option, clock: VectorClock) -... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn folder_deleted(&self, id: i64, sync_id: String, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn feed_created(&self, id: i64, sync_id: String, url: &str, title: &str, folder_id: Option, clock: VectorClock) -> Out... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn feed_updated(&self, id: i64, sync_id: Option, title: Option<&str>, folder_id: Option, clock: VectorClock) -... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 327 | pub fn feed_deleted(&self, id: i64, sync_id: String, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | pub fn article_starred(&self, id: i64, sync_id: Option, is_starred: bool, clock: VectorClock) -> OutboxEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sync_on_foreground` is never read [INFO] [stdout] --> src/sync/engine.rs:446:9 [INFO] [stdout] | [INFO] [stdout] 442 | pub struct SyncSchedulerConfig { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 446 | pub sync_on_foreground: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncSchedulerConfig` 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 `time_until_next_sync` and `sync_on_foreground` are never used [INFO] [stdout] --> src/sync/engine.rs:529:12 [INFO] [stdout] | [INFO] [stdout] 468 | impl SyncScheduler { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 529 | pub fn time_until_next_sync(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 549 | pub fn sync_on_foreground(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InitialSyncChoice` is never used [INFO] [stdout] --> src/sync/engine.rs:556:10 [INFO] [stdout] | [INFO] [stdout] 556 | pub enum InitialSyncChoice { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Conflict` is never constructed [INFO] [stdout] --> src/sync/merge.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum ApplyAction { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Conflict, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApplyAction` 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 `id` and `sync_id` are never read [INFO] [stdout] --> src/sync/merge.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct LocalEntityState { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 67 | /// Local ID [INFO] [stdout] 68 | pub id: i64, [INFO] [stdout] | ^^ [INFO] [stdout] 69 | /// Sync ID [INFO] [stdout] 70 | pub sync_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LocalEntityState` 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 `site_url` is never read [INFO] [stdout] --> src/sync/merge.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 242 | pub struct FeedPayload { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 246 | pub site_url: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FeedPayload` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/sync/merge.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 251 | pub struct ArticlePayload { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 254 | pub guid: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 255 | pub title: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 256 | pub url: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 257 | pub content: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 258 | pub summary: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 259 | pub author: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 260 | pub feed_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArticlePayload` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `context` is never read [INFO] [stdout] --> src/sync/merge.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct BatchProcessor { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 265 | context: ApplyContext, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_clock` and `local_clock` are never used [INFO] [stdout] --> src/sync/merge.rs:295:12 [INFO] [stdout] | [INFO] [stdout] 269 | impl BatchProcessor { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn update_clock(&mut self, server_clock: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn local_clock(&self) -> &VectorClock { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_sync_id` is never used [INFO] [stdout] --> src/sync/protocol.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl SyncEvent { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn with_sync_id( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncRequest` is never constructed [INFO] [stdout] --> src/sync/protocol.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct SyncRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SyncResponse` is never constructed [INFO] [stdout] --> src/sync/protocol.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct SyncResponse { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Merge` is never constructed [INFO] [stdout] --> src/sync/resolver.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum Resolution { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | Merge(MergedState), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Resolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_device_id`, `merge_clock`, `mark_sync_complete`, and `is_sync_enabled` are never used [INFO] [stdout] --> src/sync/state.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl LocalSyncState { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn with_device_id(device_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn merge_clock(&mut self, other: &VectorClock) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn mark_sync_complete(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn is_sync_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s [INFO] running `Command { std: "docker" "inspect" "bc7b048b88ba2605c6c7967fa73ae0c602af9af87a175edd118c8fc447e47bd5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc7b048b88ba2605c6c7967fa73ae0c602af9af87a175edd118c8fc447e47bd5", kill_on_drop: false }` [INFO] [stdout] bc7b048b88ba2605c6c7967fa73ae0c602af9af87a175edd118c8fc447e47bd5