[INFO] cloning repository https://github.com/louloulin/actix-pura
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/louloulin/actix-pura" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flouloulin%2Factix-pura", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flouloulin%2Factix-pura'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ba93219461b7d0f7792fa98f2c0274cbbaaa9082
[INFO] checking louloulin/actix-pura against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flouloulin%2Factix-pura" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/louloulin/actix-pura
[INFO] finished tweaking git repo https://github.com/louloulin/actix-pura
[INFO] tweaked toml for git repo https://github.com/louloulin/actix-pura written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/louloulin/actix-pura on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/louloulin/actix-pura 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded once_cell v1.21.0
[INFO] [stderr]   Downloaded data-encoding-macro v0.1.17
[INFO] [stderr]   Downloaded validit v0.2.4
[INFO] [stderr]   Downloaded openraft-macros v0.9.18
[INFO] [stderr]   Downloaded hermit-abi v0.5.0
[INFO] [stderr]   Downloaded data-encoding-macro-internal v0.1.15
[INFO] [stderr]   Downloaded libp2p v0.51.4
[INFO] [stderr]   Downloaded yamux v0.10.2
[INFO] [stderr]   Downloaded rustversion-msrv v0.100.0
[INFO] [stderr]   Downloaded libp2p-metrics v0.12.0
[INFO] [stderr]   Downloaded libp2p-dns v0.39.0
[INFO] [stderr]   Downloaded libp2p-tcp v0.39.0
[INFO] [stderr]   Downloaded prometheus-client v0.19.0
[INFO] [stderr]   Downloaded target-triple v0.1.4
[INFO] [stderr]   Downloaded libp2p-allow-block-list v0.1.1
[INFO] [stderr]   Downloaded futures-rustls v0.22.2
[INFO] [stderr]   Downloaded der-parser v8.2.0
[INFO] [stderr]   Downloaded libp2p-core v0.39.2
[INFO] [stderr]   Downloaded libp2p-kad v0.43.3
[INFO] [stderr]   Downloaded libp2p-swarm v0.42.2
[INFO] [stderr]   Downloaded libp2p-tls v0.1.0
[INFO] [stderr]   Downloaded libp2p-yamux v0.43.1
[INFO] [stderr]   Downloaded oid-registry v0.6.1
[INFO] [stderr]   Downloaded libp2p-identity v0.1.3
[INFO] [stderr]   Downloaded multistream-select v0.12.1
[INFO] [stderr]   Downloaded trybuild v1.0.104
[INFO] [stderr]   Downloaded libp2p-connection-limits v0.1.0
[INFO] [stderr]   Downloaded libp2p-mdns v0.43.1
[INFO] [stderr]   Downloaded quick-protobuf-codec v0.1.0
[INFO] [stderr]   Downloaded libp2p-identify v0.42.2
[INFO] [stderr]   Downloaded libp2p-noise v0.42.2
[INFO] [stderr]   Downloaded quinn-proto v0.9.6
[INFO] [stderr]   Downloaded openraft v0.9.18
[INFO] [stderr]   Downloaded asn1-rs v0.5.2
[INFO] [stderr]   Downloaded libp2p-quic v0.7.0-alpha.3
[INFO] [stderr]   Downloaded textwrap v0.16.2
[INFO] [stderr]   Downloaded byte-unit v5.1.6
[INFO] [stderr]   Downloaded anyerror v0.1.13
[INFO] [stderr]   Downloaded libp2p-ping v0.42.0
[INFO] [stderr]   Downloaded libp2p-mplex v0.39.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 18268086d285f93475cf95efcb4f0169da580057bce80b305aefc12688fe17c4
[INFO] running `Command { std: "docker" "start" "-a" "18268086d285f93475cf95efcb4f0169da580057bce80b305aefc12688fe17c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "18268086d285f93475cf95efcb4f0169da580057bce80b305aefc12688fe17c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18268086d285f93475cf95efcb4f0169da580057bce80b305aefc12688fe17c4", kill_on_drop: false }`
[INFO] [stdout] 18268086d285f93475cf95efcb4f0169da580057bce80b305aefc12688fe17c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3e557f4e3444d224d31701a8a04b7412f0099900d42df7c7f41bdc65f97c72e6
[INFO] running `Command { std: "docker" "start" "-a" "3e557f4e3444d224d31701a8a04b7412f0099900d42df7c7f41bdc65f97c72e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]     Checking log v0.4.26
[INFO] [stderr]     Checking smallvec v1.14.0
[INFO] [stderr]     Checking once_cell v1.21.0
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking indexmap v2.8.0
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking data-encoding v2.8.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]     Checking quick-protobuf v0.8.1
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling cc v1.2.16
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking unicode-ident v1.0.18
[INFO] [stderr]     Checking bs58 v0.4.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking getrandom v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]     Checking miniz_oxide v0.8.5
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling crunchy v0.2.3
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking indexmap v1.9.3
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking tokio v1.44.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling actix_derive v0.6.2 (/opt/rustwide/workdir/actix-derive)
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling proc-macro-crate v1.1.3
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.15
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling multihash-derive v0.8.1
[INFO] [stderr]     Checking data-encoding-macro v0.1.17
[INFO] [stderr]     Checking multibase v0.9.1
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking netlink-packet-utils v0.5.2
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking netlink-packet-core v0.7.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking netlink-packet-route v0.17.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking asynchronous-codec v0.6.2
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking unsigned-varint v0.7.2
[INFO] [stderr]     Checking multihash v0.17.0
[INFO] [stderr]     Checking multistream-select v0.12.1
[INFO] [stderr]     Checking rw-stream-sink v0.3.0
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]     Checking netlink-sys v0.8.7
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking netlink-proto v0.11.5
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking actix v0.13.5 (/opt/rustwide/workdir/actix)
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling rust_decimal v1.37.1
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking rtnetlink v0.13.1
[INFO] [stderr]     Checking if-watch v3.2.1
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]    Compiling enum-as-inner v0.5.1
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling iana-time-zone v0.1.62
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking multiaddr v0.17.1
[INFO] [stderr]     Checking clap_builder v4.5.35
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]     Checking libp2p-identity v0.1.3
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]     Checking lru v0.10.1
[INFO] [stderr]     Checking libp2p-core v0.39.2
[INFO] [stderr]     Checking trust-dns-proto v0.22.0
[INFO] [stderr]    Compiling tonic-build v0.9.2
[INFO] [stderr]     Checking libp2p-swarm v0.42.2
[INFO] [stderr]     Checking x25519-dalek v1.1.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking anyerror v0.1.13
[INFO] [stderr]     Checking yamux v0.10.2
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking quick-protobuf-codec v0.1.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking heck v0.4.1
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking libp2p-mdns v0.43.1
[INFO] [stderr]     Checking byte-unit v5.1.6
[INFO] [stderr]     Checking libp2p-yamux v0.43.1
[INFO] [stderr]     Checking libp2p-identify v0.42.2
[INFO] [stderr]    Compiling actix-cluster v0.1.0 (/opt/rustwide/workdir/actix-cluster)
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> actix-cluster/build.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking clap v4.5.35
[INFO] [stderr]     Checking libp2p-allow-block-list v0.1.1
[INFO] [stderr]     Checking libp2p-ping v0.42.0
[INFO] [stderr]     Checking libp2p-connection-limits v0.1.0
[INFO] [stderr]     Checking libp2p-kad v0.43.3
[INFO] [stderr]     Checking validit v0.2.4
[INFO] [stderr]    Compiling openraft-macros v0.9.18
[INFO] [stderr]     Checking libp2p-noise v0.42.2
[INFO] [stderr]     Checking libp2p-tcp v0.39.0
[INFO] [stderr]     Checking libp2p-mplex v0.39.0
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]     Checking lru v0.8.1
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling zstd-sys v2.0.14+zstd.1.5.7
[INFO] [stderr]     Checking openraft v0.9.18
[INFO] [stderr]     Checking libp2p v0.51.4
[INFO] [stderr]    Compiling zstd-safe v7.2.3
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling time-core v0.1.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]    Compiling time-macros v0.2.20
[INFO] [stderr]     Checking brotli-decompressor v4.0.2
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking actix-service v2.0.3
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking brotli v7.0.0
[INFO] [stderr]     Checking time v0.3.39
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking actix-server v2.5.1
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]     Checking impl-more v0.1.9
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking predicates-core v1.0.9
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]    Compiling mockall_derive v0.11.4
[INFO] [stderr]     Checking predicates-tree v1.0.12
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking predicates v2.1.5
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking tonic v0.9.2
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]     Checking winnow v0.7.3
[INFO] [stderr]    Compiling target-triple v0.1.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]    Compiling rustversion-msrv v0.100.0
[INFO] [stderr]     Checking glob v0.3.2
[INFO] [stderr]     Checking toml_edit v0.22.24
[INFO] [stderr]     Checking actix-broker v0.4.3 (/opt/rustwide/workdir/actix-broker)
[INFO] [stderr]     Checking mockall v0.11.4
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking ctrlc v3.4.5
[INFO] [stderr]     Checking toml v0.8.20
[INFO] [stderr]     Checking trybuild v1.0.104
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking actix-http v3.10.0
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> actix-cluster/src/actor.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> actix-cluster/src/lib.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | #![warn(unused_imports)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> actix-cluster/src/actor.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MigratableActor` and `MigrationOptions`
[INFO] [stdout]   --> actix-cluster/src/actor.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::migration::{MigratableActor, MigrationReason, MigrationOptions};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{debug, error, info, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterResult`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageEnvelope`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::message::{MessageEnvelope, DeliveryGuarantee};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TransportConfig` and `create_transport`
[INFO] [stdout]   --> actix-cluster/src/cluster.rs:18:46
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::transport_trait::{TransportTrait, TransportConfig, create_transport};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> actix-cluster/src/compression.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write};
[INFO] [stdout]   |               ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> actix-cluster/src/consensus.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> actix-cluster/src/discovery.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> actix-cluster/src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> actix-cluster/src/master.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> actix-cluster/src/master.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> actix-cluster/src/master.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> actix-cluster/src/master.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{error, info, warn, debug};
[INFO] [stdout]   |                  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterError`
[INFO] [stdout]   --> actix-cluster/src/master.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeStatus`
[INFO] [stdout]   --> actix-cluster/src/master.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::node::{NodeId, NodeInfo, NodeStatus};
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::serialization::SerializationFormat`
[INFO] [stdout]   --> actix-cluster/src/master.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::serialization::SerializationFormat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::testing`
[INFO] [stdout]   --> actix-cluster/src/master.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::testing;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> actix-cluster/src/message/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> actix-cluster/src/message/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> actix-cluster/src/message/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeInfo`
[INFO] [stdout]   --> actix-cluster/src/message/mod.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::node::{NodeId, NodeInfo};
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ClusterResult`
[INFO] [stdout]   --> actix-cluster/src/message/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::error::ClusterResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> actix-cluster/src/message/delivery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> actix-cluster/src/migration.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlacementStrategy`
[INFO] [stdout]   --> actix-cluster/src/migration.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::node::{NodeId, PlacementStrategy};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]   --> actix-cluster/src/migration.rs:14:39
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::serialization::{serialize, deserialize};
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> actix-cluster/src/placement.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> actix-cluster/src/placement.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> actix-cluster/src/placement.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::NodeRole`
[INFO] [stdout]   --> actix-cluster/src/placement.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::config::NodeRole;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> actix-cluster/src/proto/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeInfo` and `NodeStatus`
[INFO] [stdout]  --> actix-cluster/src/proto/mod.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::node::{NodeId, NodeInfo, NodeStatus};
[INFO] [stdout]   |                           ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActorPath`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:10:71
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::message::{MessageEnvelope, MessageType, DeliveryGuarantee, ActorPath};
[INFO] [stdout]    |                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterResult`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BrokerMessage` and `SubscriptionOptions`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::broker::{BrokerMessage, SubscriptionOptions};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ElectionMessage` and `MasterState`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::master::{ElectionMessage, MasterState};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> actix-cluster/src/registry.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageEnvelope`
[INFO] [stdout]   --> actix-cluster/src/registry.rs:19:52
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::message::{ActorPath, DeliveryGuarantee, MessageEnvelope, AnyMessage};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeInfo`
[INFO] [stdout]   --> actix-cluster/src/registry.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::node::{NodeId, NodeInfo};
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::NodeRole`
[INFO] [stdout]   --> actix-cluster/src/registry.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::config::NodeRole;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> actix-cluster/src/serialization.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> actix-cluster/src/serialization.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::proto`
[INFO] [stdout]   --> actix-cluster/src/serialization.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::proto;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Poll`, `fmt`, `future::Future`, `pin::Pin`, and `self`
[INFO] [stdout]   --> actix-cluster/src/supervision.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     future::Future,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pin::Pin,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     task::{self, Poll},
[INFO] [stdout]    |            ^^^^  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fmt,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> actix-cluster/src/supervision.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use log::{error, warn, info, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterError`
[INFO] [stdout]   --> actix-cluster/src/supervision.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> actix-cluster/src/sync/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> actix-cluster/src/transport.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::TypeId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:12:46
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::{AsyncReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeStatus`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::node::{NodeId, NodeInfo, NodeStatus};
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::NodeRole`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::config::NodeRole;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActorPath`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:27:71
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::message::{MessageEnvelope, MessageType, DeliveryGuarantee, ActorPath};
[INFO] [stdout]    |                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> actix-cluster/src/actor.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> actix-cluster/src/lib.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | #![warn(unused_imports)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MigratableActor` and `MigrationOptions`
[INFO] [stdout]   --> actix-cluster/src/actor.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::migration::{MigratableActor, MigrationReason, MigrationOptions};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude::*`
[INFO] [stdout]    --> actix-cluster/src/actor.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |     use actix::prelude::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{debug, error, info, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterResult`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageEnvelope`
[INFO] [stdout]   --> actix-cluster/src/broker.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::message::{MessageEnvelope, DeliveryGuarantee};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]    --> actix-cluster/src/broker.rs:853:9
[INFO] [stdout]     |
[INFO] [stdout] 853 |     use std::time::Duration;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TransportConfig` and `create_transport`
[INFO] [stdout]   --> actix-cluster/src/cluster.rs:18:46
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::transport_trait::{TransportTrait, TransportConfig, create_transport};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DiscoveryMethod`
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:888:35
[INFO] [stdout]     |
[INFO] [stdout] 888 |     use crate::config::{NodeRole, DiscoveryMethod};
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::discovery::MockDiscovery`
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:889:9
[INFO] [stdout]     |
[INFO] [stdout] 889 |     use crate::discovery::MockDiscovery;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, and `SocketAddr`
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:890:20
[INFO] [stdout]     |
[INFO] [stdout] 890 |     use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stdout]     |                    ^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:891:9
[INFO] [stdout]     |
[INFO] [stdout] 891 |     use std::time::Duration;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> actix-cluster/src/compression.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{self, Read, Write};
[INFO] [stdout]   |               ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> actix-cluster/src/consensus.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> actix-cluster/src/discovery.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> actix-cluster/src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> actix-cluster/src/master.rs:2:36
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> actix-cluster/src/master.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> actix-cluster/src/master.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> actix-cluster/src/master.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{error, info, warn, debug};
[INFO] [stdout]   |                  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterError`
[INFO] [stdout]   --> actix-cluster/src/master.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::serialization::SerializationFormat`
[INFO] [stdout]   --> actix-cluster/src/master.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::serialization::SerializationFormat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::testing`
[INFO] [stdout]   --> actix-cluster/src/master.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::testing;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]    --> actix-cluster/src/master.rs:475:9
[INFO] [stdout]     |
[INFO] [stdout] 475 |     use std::net::SocketAddr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::testing`
[INFO] [stdout]    --> actix-cluster/src/master.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     use crate::testing;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> actix-cluster/src/message/mod.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> actix-cluster/src/message/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> actix-cluster/src/message/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeInfo`
[INFO] [stdout]   --> actix-cluster/src/message/mod.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::node::{NodeId, NodeInfo};
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ClusterResult`
[INFO] [stdout]   --> actix-cluster/src/message/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::error::ClusterResult;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> actix-cluster/src/message/delivery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> actix-cluster/src/migration.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlacementStrategy`
[INFO] [stdout]   --> actix-cluster/src/migration.rs:11:27
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::node::{NodeId, PlacementStrategy};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `deserialize`
[INFO] [stdout]   --> actix-cluster/src/migration.rs:14:39
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::serialization::{serialize, deserialize};
[INFO] [stdout]    |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> actix-cluster/src/placement.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> actix-cluster/src/placement.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> actix-cluster/src/proto/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeInfo` and `NodeStatus`
[INFO] [stdout]  --> actix-cluster/src/proto/mod.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::node::{NodeId, NodeInfo, NodeStatus};
[INFO] [stdout]   |                           ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActorPath`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:10:71
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::message::{MessageEnvelope, MessageType, DeliveryGuarantee, ActorPath};
[INFO] [stdout]    |                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterResult`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BrokerMessage` and `SubscriptionOptions`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:13:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::broker::{BrokerMessage, SubscriptionOptions};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ElectionMessage` and `MasterState`
[INFO] [stdout]   --> actix-cluster/src/proto/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::master::{ElectionMessage, MasterState};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> actix-cluster/src/registry.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MessageEnvelope`
[INFO] [stdout]   --> actix-cluster/src/registry.rs:19:52
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::message::{ActorPath, DeliveryGuarantee, MessageEnvelope, AnyMessage};
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> actix-cluster/src/serialization.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> actix-cluster/src/serialization.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::proto`
[INFO] [stdout]   --> actix-cluster/src/serialization.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::proto;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Poll`, `fmt`, `future::Future`, `pin::Pin`, and `self`
[INFO] [stdout]   --> actix-cluster/src/supervision.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     future::Future,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pin::Pin,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     task::{self, Poll},
[INFO] [stdout]    |            ^^^^  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fmt,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> actix-cluster/src/supervision.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use log::{error, warn, info, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClusterError`
[INFO] [stdout]   --> actix-cluster/src/supervision.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::error::{ClusterError, ClusterResult};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> actix-cluster/src/sync/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> actix-cluster/src/transport.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::TypeId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:12:46
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::{AsyncReadExt, AsyncWriteExt, BufReader};
[INFO] [stdout]    |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeStatus`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::node::{NodeId, NodeInfo, NodeStatus};
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::NodeRole`
[INFO] [stdout]   --> actix-cluster/src/transport.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::config::NodeRole;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SerializerTrait`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1230:55
[INFO] [stdout]      |
[INFO] [stdout] 1230 |         use crate::serialization::{BincodeSerializer, SerializerTrait};
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/src/broker.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut sequenced_counters = self.broker.sequence_counters.write().await;
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/src/broker.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut sequenced_counters = self.broker.sequence_counters.write().await;
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/src/transport.rs:768:17
[INFO] [stdout]     |
[INFO] [stdout] 768 |             let mut envelope_to_send = envelope.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/src/transport.rs:768:17
[INFO] [stdout]     |
[INFO] [stdout] 768 |             let mut envelope_to_send = envelope.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1750:29
[INFO] [stdout]      |
[INFO] [stdout] 1750 |                         let mut handler_guard = handler_clone.lock();
[INFO] [stdout]      |                             ----^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1750:29
[INFO] [stdout]      |
[INFO] [stdout] 1750 |                         let mut handler_guard = handler_clone.lock();
[INFO] [stdout]      |                             ----^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prost::Message`
[INFO] [stdout]  --> actix-cluster/src/proto/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use prost::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> actix-cluster/src/actor.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn start_and_wait<M, T>(self, msg: M, timeout: Duration) -> Request<Self, M>
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor_ref`
[INFO] [stdout]    --> actix-cluster/src/actor.rs:322:29
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 if let Some(actor_ref) = registry.lookup(&msg.invocation.actor_path).await {
[INFO] [stdout]     |                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actor_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> actix-cluster/src/broker.rs:423:18
[INFO] [stdout]     |
[INFO] [stdout] 423 |             for (id, broker_msg, target_nodes, acked_by) in to_retry {
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prost::Message`
[INFO] [stdout]  --> actix-cluster/src/proto/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use prost::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]    --> actix-cluster/src/actor.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 194 |     fn start_and_wait<M, T>(self, msg: M, timeout: Duration) -> Request<Self, M>
[INFO] [stdout]     |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor_ref`
[INFO] [stdout]    --> actix-cluster/src/actor.rs:322:29
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 if let Some(actor_ref) = registry.lookup(&msg.invocation.actor_path).await {
[INFO] [stdout]     |                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actor_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delivery_guarantee`
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         delivery_guarantee: DeliveryGuarantee,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery_guarantee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> actix-cluster/src/broker.rs:423:18
[INFO] [stdout]     |
[INFO] [stdout] 423 |             for (id, broker_msg, target_nodes, acked_by) in to_retry {
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_node_clone`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:929:13
[INFO] [stdout]     |
[INFO] [stdout] 929 |         let local_node_clone = self.local_node.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_node_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delivery_guarantee`
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         delivery_guarantee: DeliveryGuarantee,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delivery_guarantee`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `local_node_clone`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:929:13
[INFO] [stdout]     |
[INFO] [stdout] 929 |         let local_node_clone = self.local_node.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_local_node_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:332:30
[INFO] [stdout]     |
[INFO] [stdout] 332 |         DiscoveryMethod::Dns(domain) => {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace`
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:337:39
[INFO] [stdout]     |
[INFO] [stdout] 337 |         DiscoveryMethod::Kubernetes { namespace, selector } => {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: try ignoring the field: `namespace: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:337:50
[INFO] [stdout]     |
[INFO] [stdout] 337 |         DiscoveryMethod::Kubernetes { namespace, selector } => {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: try ignoring the field: `selector: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking actix-web v4.10.2
[INFO] [stdout] warning: unused variable: `domain`
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:332:30
[INFO] [stdout]     |
[INFO] [stdout] 332 |         DiscoveryMethod::Dns(domain) => {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `namespace`
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:337:39
[INFO] [stdout]     |
[INFO] [stdout] 337 |         DiscoveryMethod::Kubernetes { namespace, selector } => {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: try ignoring the field: `namespace: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `selector`
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:337:50
[INFO] [stdout]     |
[INFO] [stdout] 337 |         DiscoveryMethod::Kubernetes { namespace, selector } => {
[INFO] [stdout]     |                                                  ^^^^^^^^ help: try ignoring the field: `selector: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority_node1`
[INFO] [stdout]    --> actix-cluster/src/master.rs:540:13
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let priority_node1 = 10; // 优先级更高（数字更小）
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority_node1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `election_msg`
[INFO] [stdout]    --> actix-cluster/src/master.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let election_msg = ElectionMessage {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_election_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor_ref`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |         if let Some(actor_ref) = self.registry.lookup(actor_path).await {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actor_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_actor_path`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:289:66
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub async fn complete_migration(&mut self, request_id: Uuid, new_actor_path: String) -> ClusterResult<()> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_actor_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:302:62
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub async fn fail_migration(&mut self, request_id: Uuid, reason: String) -> ClusterResult<()> {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:332:36
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn before_migration(&mut self, ctx: &mut Self::Context) {}
[INFO] [stdout]     |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:335:35
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn after_migration(&mut self, ctx: &mut Self::Context) {}
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor_ref`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |         if let Some(actor_ref) = self.registry.lookup(actor_path).await {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actor_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_actor_path`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:289:66
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub async fn complete_migration(&mut self, request_id: Uuid, new_actor_path: String) -> ClusterResult<()> {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_actor_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:302:62
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub async fn fail_migration(&mut self, request_id: Uuid, reason: String) -> ClusterResult<()> {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:332:36
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn before_migration(&mut self, ctx: &mut Self::Context) {}
[INFO] [stdout]     |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/migration.rs:335:35
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn after_migration(&mut self, ctx: &mut Self::Context) {}
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn before_restart(&mut self, ctx: &mut <Self as Actor>::Context, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:148:33
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn after_restart(&mut self, ctx: &mut <Self as Actor>::Context, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:159:35
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn before_relocate(&mut self, ctx: &mut <Self as Actor>::Context, target_node: NodeId, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn after_relocate(&mut self, ctx: &mut <Self as Actor>::Context, source_node: NodeId, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:197:58
[INFO] [stdout]     |
[INFO] [stdout] 197 |             SupervisionStrategy::Restart { max_restarts, window, delay } => {
[INFO] [stdout]     |                                                          ^^^^^^ help: try ignoring the field: `window: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `placement`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:212:45
[INFO] [stdout]     |
[INFO] [stdout] 212 |             SupervisionStrategy::Relocate { placement, max_relocations, delay } => {
[INFO] [stdout]     |                                             ^^^^^^^^^ help: try ignoring the field: `placement: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:333:66
[INFO] [stdout]     |
[INFO] [stdout] 333 |             SupervisionStrategy::Restart { max_restarts, window, delay } => {
[INFO] [stdout]     |                                                                  ^^^^^ help: try ignoring the field: `delay: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:370:73
[INFO] [stdout]     |
[INFO] [stdout] 370 |             SupervisionStrategy::Relocate { placement, max_relocations, delay } => {
[INFO] [stdout]     |                                                                         ^^^^^ help: try ignoring the field: `delay: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:452:27
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn started(&mut self, ctx: &mut Self::Context) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_id_for_logging`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:491:29
[INFO] [stdout]     |
[INFO] [stdout] 491 |                         let sender_id_for_logging = sender_id.clone(); // Clone for logging
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id_for_logging`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_clone`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:492:29
[INFO] [stdout]     |
[INFO] [stdout] 492 |                         let message_clone = message.clone();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path_clone`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:631:25
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     let path_clone = path.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor_ref`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:654:33
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     if let Some(actor_ref) = registry_adapter.handle_discovery_response(path, locations) {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actor_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_message`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1745:13
[INFO] [stdout]      |
[INFO] [stdout] 1745 |             other_message => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1083:41
[INFO] [stdout]      |
[INFO] [stdout] 1083 |         let handler_fn = Box::new(move |node_id: NodeId, msg: TransportMessage| {
[INFO] [stdout]      |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1448:24
[INFO] [stdout]      |
[INFO] [stdout] 1448 |     fn send_any(&self, msg: Box<dyn std::any::Any + Send>) -> ClusterResult<()> {
[INFO] [stdout]      |                        ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn before_restart(&mut self, ctx: &mut <Self as Actor>::Context, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:148:33
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn after_restart(&mut self, ctx: &mut <Self as Actor>::Context, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:159:35
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn before_relocate(&mut self, ctx: &mut <Self as Actor>::Context, target_node: NodeId, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn after_relocate(&mut self, ctx: &mut <Self as Actor>::Context, source_node: NodeId, failure: Option<FailureInfo>) {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:197:58
[INFO] [stdout]     |
[INFO] [stdout] 197 |             SupervisionStrategy::Restart { max_restarts, window, delay } => {
[INFO] [stdout]     |                                                          ^^^^^^ help: try ignoring the field: `window: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `placement`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:212:45
[INFO] [stdout]     |
[INFO] [stdout] 212 |             SupervisionStrategy::Relocate { placement, max_relocations, delay } => {
[INFO] [stdout]     |                                             ^^^^^^^^^ help: try ignoring the field: `placement: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:333:66
[INFO] [stdout]     |
[INFO] [stdout] 333 |             SupervisionStrategy::Restart { max_restarts, window, delay } => {
[INFO] [stdout]     |                                                                  ^^^^^ help: try ignoring the field: `delay: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:370:73
[INFO] [stdout]     |
[INFO] [stdout] 370 |             SupervisionStrategy::Relocate { placement, max_relocations, delay } => {
[INFO] [stdout]     |                                                                         ^^^^^ help: try ignoring the field: `delay: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:452:27
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn started(&mut self, ctx: &mut Self::Context) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/src/supervision.rs:699:48
[INFO] [stdout]     |
[INFO] [stdout] 699 |         fn handle(&mut self, msg: TestMessage, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `first_sent` is never read
[INFO] [stdout]   --> actix-cluster/src/broker.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct PendingMessage {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     first_sent: Instant,
[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 `RemoteSubscription` is never constructed
[INFO] [stdout]    --> actix-cluster/src/broker.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct RemoteSubscription {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_local_node`, `discover_nodes`, `update_node_statuses`, `check_node_timeouts`, and `notify_node_status_changed` are never used
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:511:14
[INFO] [stdout]     |
[INFO] [stdout] 491 | impl ClusterSystemActor {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 511 |     async fn register_local_node(&self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 517 |     async fn discover_nodes(&self) -> ClusterResult<Vec<NodeInfo>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     async fn update_node_statuses(&self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     fn check_node_timeouts(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     fn notify_node_status_changed(&mut self, node_id: &NodeId, status: NodeStatus) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]   --> actix-cluster/src/consensus_network.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ConsensusNetwork {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     node_id: NodeId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_node` is never used
[INFO] [stdout]   --> actix-cluster/src/consensus_network.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl ConsensusNetwork {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     async fn lookup_node(&self, name: &str) -> Result<NodeId> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]    --> actix-cluster/src/consensus_network.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct ConsensusMessageHandler {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] 117 |     /// Node ID of the local node
[INFO] [stdout] 118 |     node_id: NodeId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HandleElection` is never constructed
[INFO] [stdout]   --> actix-cluster/src/master.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct HandleElection(ElectionMessage);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start_election`, `calculate_priority`, `handle_election`, `update_master_state`, and `check_master_health` are never used
[INFO] [stdout]    --> actix-cluster/src/master.rs:95:14
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl MasterActor {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  95 |     async fn start_election(&mut self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     async fn calculate_priority(&self) -> u32 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     async fn handle_election(&mut self, msg: ElectionMessage) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     async fn update_master_state(&mut self, new_master_id: NodeId) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     async fn check_master_health(&mut self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeliveryGuarantee` is never used
[INFO] [stdout]   --> actix-cluster/src/message/delivery.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum DeliveryGuarantee {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]   --> actix-cluster/src/message/handler.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct MessageEnvelopeHandler {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] 13 |     /// Local node ID
[INFO] [stdout] 14 |     node_id: NodeId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `consistent_hash_nodes` is never read
[INFO] [stdout]   --> actix-cluster/src/placement.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PlacementStrategyImpl {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     consistent_hash_nodes: Mutex<Vec<(NodeId, u64)>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_consistent_hash_node` and `select_locality_node` are never used
[INFO] [stdout]    --> actix-cluster/src/placement.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl PlacementStrategyImpl {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn select_consistent_hash_node(&self, actor_path: &str) -> ClusterResult<NodeId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn select_locality_node(&self, actor_path: &str) -> ClusterResult<NodeId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONNECTION_TIMEOUT` is never used
[INFO] [stdout]   --> actix-cluster/src/transport.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const CONNECTION_TIMEOUT: Duration = Duration::from_secs(10);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACK_TIMEOUT` is never used
[INFO] [stdout]   --> actix-cluster/src/transport.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const ACK_TIMEOUT: Duration = Duration::from_secs(5);
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message`, `first_sent`, `last_retry`, and `retry_count` are never read
[INFO] [stdout]    --> actix-cluster/src/transport.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct PendingMessage {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 115 |     /// The message itself
[INFO] [stdout] 116 |     message: TransportMessage,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 117 |     /// When the message was first sent
[INFO] [stdout] 118 |     first_sent: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 119 |     /// When the message was last retried
[INFO] [stdout] 120 |     last_retry: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 121 |     /// Number of retries
[INFO] [stdout] 122 |     retry_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PendingMessage` 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 `send_any`, `handle_message_type`, and `process_message_handlers` are never used
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1051:8
[INFO] [stdout]      |
[INFO] [stdout]  273 | impl P2PTransport {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1051 |     fn send_any(&self, _msg: Box<dyn std::any::Any + Send>) -> ClusterResult<()> {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1057 |     fn handle_message_type(&self, other_message: TransportMessage) -> ClusterResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1068 |     async fn process_message_handlers(&self, envelope: &MessageEnvelope) -> ClusterResult<()> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> actix-cluster/src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod actor;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> actix-cluster/src/lib.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> actix-cluster/src/lib.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub mod master;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> actix-cluster/src/lib.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub mod migration;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> actix-cluster/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub mod placement;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> actix-cluster/src/actor.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     async fn start_and_wait_async<M, T>(self, msg: M, timeout: Duration) -> ClusterResult<T>
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 179 ~     fn start_and_wait_async<M, T>(self, msg: M, timeout: Duration) -> impl std::future::Future<Output = ClusterResult<T>> + Send
[INFO] [stdout] 180 |     where
[INFO] [stdout] ...
[INFO] [stdout] 184 |         Self::Context: ToEnvelope<Self, M>,
[INFO] [stdout] 185 ~     {async {
[INFO] [stdout] 186 |         let addr = self.start_distributed();
[INFO] [stdout] ...
[INFO] [stdout] 190 |         }
[INFO] [stdout] 191 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> actix-cluster/src/actor.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     async fn ask_async<M, T>(&self, addr: &Addr<Self>, msg: M, timeout: Duration) -> ClusterResult<T>
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 216 ~     fn ask_async<M, T>(&self, addr: &Addr<Self>, msg: M, timeout: Duration) -> impl std::future::Future<Output = ClusterResult<T>> + Send
[INFO] [stdout] 217 |     where
[INFO] [stdout] ...
[INFO] [stdout] 220 |         T: 'static + Send,
[INFO] [stdout] 221 ~     {async {
[INFO] [stdout] 222 |         match actix::clock::timeout(timeout, addr.send(msg)).await {
[INFO] [stdout] ...
[INFO] [stdout] 225 |         }
[INFO] [stdout] 226 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> actix-cluster/src/broker.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | pub struct NetworkBrokerActor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> actix-cluster/src/broker.rs:736:5
[INFO] [stdout]     |
[INFO] [stdout] 736 |     pub fn new(network_broker: Arc<NetworkBroker>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:753:5
[INFO] [stdout]     |
[INFO] [stdout] 753 |     pub topic: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:754:5
[INFO] [stdout]     |
[INFO] [stdout] 754 |     pub message: M,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:755:5
[INFO] [stdout]     |
[INFO] [stdout] 755 |     pub guarantee: DeliveryGuarantee,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:774:5
[INFO] [stdout]     |
[INFO] [stdout] 774 |     pub message: BrokerMessage,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:793:5
[INFO] [stdout]     |
[INFO] [stdout] 793 |     pub topic: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:794:5
[INFO] [stdout]     |
[INFO] [stdout] 794 |     pub node_id: NodeId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:795:5
[INFO] [stdout]     |
[INFO] [stdout] 795 |     pub options: SubscriptionOptions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:814:5
[INFO] [stdout]     |
[INFO] [stdout] 814 |     pub topic: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:815:5
[INFO] [stdout]     |
[INFO] [stdout] 815 |     pub node_id: NodeId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 834 |     pub ack: MessageAck,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> actix-cluster/src/consensus.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         actor_path: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> actix-cluster/src/consensus.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         node_id: NodeId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_id_for_logging`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:491:29
[INFO] [stdout]     |
[INFO] [stdout] 491 |                         let sender_id_for_logging = sender_id.clone(); // Clone for logging
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_id_for_logging`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_clone`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:492:29
[INFO] [stdout]     |
[INFO] [stdout] 492 |                         let message_clone = message.clone();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path_clone`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:631:25
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     let path_clone = path.clone();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_path_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor_ref`
[INFO] [stdout]    --> actix-cluster/src/transport.rs:654:33
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     if let Some(actor_ref) = registry_adapter.handle_discovery_response(path, locations) {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actor_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> actix-cluster/src/placement.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait NodeSelector: Send + Sync {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> actix-cluster/src/placement.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn select_node(&self, actor_path: &str, strategy: &PlacementStrategy) -> ClusterResult<NodeId>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> actix-cluster/src/placement.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_active_nodes(&self) -> Vec<NodeId>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> actix-cluster/src/placement.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn get_node_info(&self, node_id: &NodeId) -> Option<NodeInfo>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub sender_actor: ::prost::alloc::string::String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub target_actor: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub sender_node: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub target_node: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub message_type: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub payload: ::prost::alloc::vec::Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub ttl: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub delivery_guarantee: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub correlation_id: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     pub headers: ::std::collections::HashMap<
[INFO] [stdout] 32 | |         ::prost::alloc::string::String,
[INFO] [stdout] 33 | |         ::prost::alloc::string::String,
[INFO] [stdout] 34 | |     >,
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub message: ::core::option::Option<proto_transport_message::Message>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub id: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub name: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub role: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub addr: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | /     pub metadata: ::std::collections::HashMap<
[INFO] [stdout] 101 | |         ::prost::alloc::string::String,
[INFO] [stdout] 102 | |         ::prost::alloc::string::String,
[INFO] [stdout] 103 | |     >,
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub status: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub path: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub path: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub locations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub payload: ::prost::alloc::vec::Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub sender_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub timestamp: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | /     pub headers: ::std::collections::HashMap<
[INFO] [stdout] 159 | |         ::prost::alloc::string::String,
[INFO] [stdout] 160 | |         ::prost::alloc::string::String,
[INFO] [stdout] 161 | |     >,
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub options: ::core::option::Option<ProtoBrokerSubscriptionOptions>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub durable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub queue_group: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub max_inflight: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub ack_wait: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub subscriber_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub options: ::core::option::Option<ProtoBrokerSubscriptionOptions>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub data: ::prost::alloc::vec::Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub election_type: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub candidate_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub term: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub last_log_index: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub last_log_term: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub master_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub term: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub timestamp: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     Regular = 0,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     System = 1,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     Ping = 2,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     Pong = 3,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     Ack = 4,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Error = 5,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     Broadcast = 6,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     Migration = 7,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     Supervision = 8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     Custom = 9,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 306 |     AtMostOnce = 0,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     AtLeastOnce = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:308:5
[INFO] [stdout]     |
[INFO] [stdout] 308 |     ExactlyOnce = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub enum Message {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         ActorMessage(super::ProtoMessageEnvelope),
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         BrokerMessage(super::ProtoBrokerMessage),
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         Heartbeat(super::ProtoNodeInfo),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Election(super::ProtoElectionMessage),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         MasterState(super::ProtoMasterState),
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         StatusUpdate(super::ProtoStatusUpdate),
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         Ack(super::ProtoAck),
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Close(super::ProtoClose),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Handshake(super::ProtoNodeInfo),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         ActorDiscoveryRequest(super::ProtoActorDiscoveryRequest),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ActorDiscoveryResponse(super::ProtoActorDiscoveryResponse),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         BrokerSubscribe(super::ProtoBrokerSubscribe),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         BrokerUnsubscribe(super::ProtoBrokerUnsubscribe),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         BrokerAck(super::ProtoBrokerAck),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Subscribe(super::ProtoSubscribe),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         Envelope(super::ProtoMessageEnvelope),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Consensus(super::ProtoConsensus),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> actix-cluster/src/registry.rs:1027:5
[INFO] [stdout]      |
[INFO] [stdout] 1027 |     pub transport: Arc<tokio::sync::Mutex<P2PTransport>>,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> actix-cluster/src/transport.rs:213:1
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub enum MessageHandlerType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> actix-cluster/src/transport.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     Function(Box<dyn Fn(NodeId, TransportMessage) -> ClusterResult<()> + Send + Sync>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> actix-cluster/src/transport.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     Actor(actix::Addr<MessageEnvelopeHandler>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_message`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1745:13
[INFO] [stdout]      |
[INFO] [stdout] 1745 |             other_message => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1083:41
[INFO] [stdout]      |
[INFO] [stdout] 1083 |         let handler_fn = Box::new(move |node_id: NodeId, msg: TransportMessage| {
[INFO] [stdout]      |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1448:24
[INFO] [stdout]      |
[INFO] [stdout] 1448 |     fn send_any(&self, msg: Box<dyn std::any::Any + Send>) -> ClusterResult<()> {
[INFO] [stdout]      |                        ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transport_message`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1538:17
[INFO] [stdout]      |
[INFO] [stdout] 1538 |             let transport_message = TransportMessage::Envelope(envelope.clone());
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remote_ref`
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1544:17
[INFO] [stdout]      |
[INFO] [stdout] 1544 |             let remote_ref = RemoteActorRef::new(
[INFO] [stdout]      |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remote_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking chat_system v0.1.0 (/opt/rustwide/workdir/examples/chat_system)
[INFO] [stdout] warning: field `first_sent` is never read
[INFO] [stdout]   --> actix-cluster/src/broker.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct PendingMessage {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 94 |     first_sent: Instant,
[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 `RemoteSubscription` is never constructed
[INFO] [stdout]    --> actix-cluster/src/broker.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct RemoteSubscription {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_local_node`, `discover_nodes`, `update_node_statuses`, `check_node_timeouts`, and `notify_node_status_changed` are never used
[INFO] [stdout]    --> actix-cluster/src/cluster.rs:511:14
[INFO] [stdout]     |
[INFO] [stdout] 491 | impl ClusterSystemActor {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 511 |     async fn register_local_node(&self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 517 |     async fn discover_nodes(&self) -> ClusterResult<Vec<NodeInfo>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     async fn update_node_statuses(&self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     fn check_node_timeouts(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     fn notify_node_status_changed(&mut self, node_id: &NodeId, status: NodeStatus) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]   --> actix-cluster/src/consensus_network.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ConsensusNetwork {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     node_id: NodeId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_node` is never used
[INFO] [stdout]   --> actix-cluster/src/consensus_network.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl ConsensusNetwork {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     async fn lookup_node(&self, name: &str) -> Result<NodeId> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]    --> actix-cluster/src/consensus_network.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct ConsensusMessageHandler {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] 117 |     /// Node ID of the local node
[INFO] [stdout] 118 |     node_id: NodeId,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HandleElection` is never constructed
[INFO] [stdout]   --> actix-cluster/src/master.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct HandleElection(ElectionMessage);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start_election`, `calculate_priority`, `handle_election`, and `check_master_health` are never used
[INFO] [stdout]    --> actix-cluster/src/master.rs:95:14
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl MasterActor {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  95 |     async fn start_election(&mut self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     async fn calculate_priority(&self) -> u32 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     async fn handle_election(&mut self, msg: ElectionMessage) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     async fn check_master_health(&mut self) -> ClusterResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeliveryGuarantee` is never used
[INFO] [stdout]   --> actix-cluster/src/message/delivery.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum DeliveryGuarantee {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]   --> actix-cluster/src/message/handler.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct MessageEnvelopeHandler {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] 13 |     /// Local node ID
[INFO] [stdout] 14 |     node_id: NodeId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `consistent_hash_nodes` is never read
[INFO] [stdout]   --> actix-cluster/src/placement.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PlacementStrategyImpl {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     consistent_hash_nodes: Mutex<Vec<(NodeId, u64)>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_consistent_hash_node` and `select_locality_node` are never used
[INFO] [stdout]    --> actix-cluster/src/placement.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl PlacementStrategyImpl {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn select_consistent_hash_node(&self, actor_path: &str) -> ClusterResult<NodeId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn select_locality_node(&self, actor_path: &str) -> ClusterResult<NodeId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestProtoMessage` is never constructed
[INFO] [stdout]    --> actix-cluster/src/serialization.rs:577:12
[INFO] [stdout]     |
[INFO] [stdout] 577 |     struct TestProtoMessage {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONNECTION_TIMEOUT` is never used
[INFO] [stdout]   --> actix-cluster/src/transport.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const CONNECTION_TIMEOUT: Duration = Duration::from_secs(10);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACK_TIMEOUT` is never used
[INFO] [stdout]   --> actix-cluster/src/transport.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const ACK_TIMEOUT: Duration = Duration::from_secs(5);
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message`, `first_sent`, `last_retry`, and `retry_count` are never read
[INFO] [stdout]    --> actix-cluster/src/transport.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct PendingMessage {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] 115 |     /// The message itself
[INFO] [stdout] 116 |     message: TransportMessage,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 117 |     /// When the message was first sent
[INFO] [stdout] 118 |     first_sent: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 119 |     /// When the message was last retried
[INFO] [stdout] 120 |     last_retry: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 121 |     /// Number of retries
[INFO] [stdout] 122 |     retry_count: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PendingMessage` 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 `send_any`, `handle_message_type`, and `process_message_handlers` are never used
[INFO] [stdout]     --> actix-cluster/src/transport.rs:1051:8
[INFO] [stdout]      |
[INFO] [stdout]  273 | impl P2PTransport {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1051 |     fn send_any(&self, _msg: Box<dyn std::any::Any + Send>) -> ClusterResult<()> {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1057 |     fn handle_message_type(&self, other_message: TransportMessage) -> ClusterResult<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1068 |     async fn process_message_handlers(&self, envelope: &MessageEnvelope) -> ClusterResult<()> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> actix-cluster/src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod actor;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> actix-cluster/src/lib.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | #![warn(missing_docs)]
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> actix-cluster/src/lib.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub mod master;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> actix-cluster/src/lib.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub mod migration;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> actix-cluster/src/lib.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub mod placement;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> actix-cluster/src/actor.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     async fn start_and_wait_async<M, T>(self, msg: M, timeout: Duration) -> ClusterResult<T>
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 179 ~     fn start_and_wait_async<M, T>(self, msg: M, timeout: Duration) -> impl std::future::Future<Output = ClusterResult<T>> + Send
[INFO] [stdout] 180 |     where
[INFO] [stdout] ...
[INFO] [stdout] 184 |         Self::Context: ToEnvelope<Self, M>,
[INFO] [stdout] 185 ~     {async {
[INFO] [stdout] 186 |         let addr = self.start_distributed();
[INFO] [stdout] ...
[INFO] [stdout] 190 |         }
[INFO] [stdout] 191 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> actix-cluster/src/actor.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     async fn ask_async<M, T>(&self, addr: &Addr<Self>, msg: M, timeout: Duration) -> ClusterResult<T>
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 216 ~     fn ask_async<M, T>(&self, addr: &Addr<Self>, msg: M, timeout: Duration) -> impl std::future::Future<Output = ClusterResult<T>> + Send
[INFO] [stdout] 217 |     where
[INFO] [stdout] ...
[INFO] [stdout] 220 |         T: 'static + Send,
[INFO] [stdout] 221 ~     {async {
[INFO] [stdout] 222 |         match actix::clock::timeout(timeout, addr.send(msg)).await {
[INFO] [stdout] ...
[INFO] [stdout] 225 |         }
[INFO] [stdout] 226 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageEnvelope` and `MessageType`
[INFO] [stdout]  --> actix-cluster/tests/network_transport_test.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     MessageEnvelope, MessageType, NodeRole, SerializationFormat, AnyMessage,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> actix-cluster/src/broker.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | pub struct NetworkBrokerActor {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> actix-cluster/src/broker.rs:736:5
[INFO] [stdout]     |
[INFO] [stdout] 736 |     pub fn new(network_broker: Arc<NetworkBroker>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:753:5
[INFO] [stdout]     |
[INFO] [stdout] 753 |     pub topic: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:754:5
[INFO] [stdout]     |
[INFO] [stdout] 754 |     pub message: M,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:755:5
[INFO] [stdout]     |
[INFO] [stdout] 755 |     pub guarantee: DeliveryGuarantee,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:774:5
[INFO] [stdout]     |
[INFO] [stdout] 774 |     pub message: BrokerMessage,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:793:5
[INFO] [stdout]     |
[INFO] [stdout] 793 |     pub topic: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:794:5
[INFO] [stdout]     |
[INFO] [stdout] 794 |     pub node_id: NodeId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:795:5
[INFO] [stdout]     |
[INFO] [stdout] 795 |     pub options: SubscriptionOptions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:814:5
[INFO] [stdout]     |
[INFO] [stdout] 814 |     pub topic: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:815:5
[INFO] [stdout]     |
[INFO] [stdout] 815 |     pub node_id: NodeId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> actix-cluster/src/broker.rs:834:5
[INFO] [stdout]     |
[INFO] [stdout] 834 |     pub ack: MessageAck,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> actix-cluster/src/consensus.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         actor_path: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> actix-cluster/src/consensus.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         node_id: NodeId,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> actix-cluster/src/discovery.rs:375:5
[INFO] [stdout]     |
[INFO] [stdout] 375 |     pub fn with_nodes(nodes: Vec<NodeInfo>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a trait
[INFO] [stdout]   --> actix-cluster/src/placement.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait NodeSelector: Send + Sync {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> actix-cluster/src/placement.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn select_node(&self, actor_path: &str, strategy: &PlacementStrategy) -> ClusterResult<NodeId>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> actix-cluster/src/placement.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn get_active_nodes(&self) -> Vec<NodeId>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> actix-cluster/src/placement.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn get_node_info(&self, node_id: &NodeId) -> Option<NodeInfo>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub sender_actor: ::prost::alloc::string::String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub target_actor: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub sender_node: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub target_node: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub message_type: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub payload: ::prost::alloc::vec::Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub timestamp: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub ttl: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub delivery_guarantee: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub correlation_id: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | /     pub headers: ::std::collections::HashMap<
[INFO] [stdout] 32 | |         ::prost::alloc::string::String,
[INFO] [stdout] 33 | |         ::prost::alloc::string::String,
[INFO] [stdout] 34 | |     >,
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub message: ::core::option::Option<proto_transport_message::Message>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub id: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub name: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub role: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub addr: ::prost::alloc::string::String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 | /     pub metadata: ::std::collections::HashMap<
[INFO] [stdout] 101 | |         ::prost::alloc::string::String,
[INFO] [stdout] 102 | |         ::prost::alloc::string::String,
[INFO] [stdout] 103 | |     >,
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub status: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub path: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub path: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub locations: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub payload: ::prost::alloc::vec::Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub sender_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub timestamp: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | /     pub headers: ::std::collections::HashMap<
[INFO] [stdout] 159 | |         ::prost::alloc::string::String,
[INFO] [stdout] 160 | |         ::prost::alloc::string::String,
[INFO] [stdout] 161 | |     >,
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub options: ::core::option::Option<ProtoBrokerSubscriptionOptions>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub durable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub queue_group: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub max_inflight: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub ack_wait: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub node_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     pub message_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub subscriber_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub topic: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub options: ::core::option::Option<ProtoBrokerSubscriptionOptions>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub data: ::prost::alloc::vec::Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub election_type: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub candidate_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub term: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub last_log_index: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub last_log_term: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 243 |     pub master_id: ::prost::alloc::string::String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:245:5
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub term: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:247:5
[INFO] [stdout]     |
[INFO] [stdout] 247 |     pub nodes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub timestamp: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     Regular = 0,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     System = 1,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     Ping = 2,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     Pong = 3,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     Ack = 4,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Error = 5,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     Broadcast = 6,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     Migration = 7,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     Supervision = 8,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     Custom = 9,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 306 |     AtMostOnce = 0,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     AtLeastOnce = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:308:5
[INFO] [stdout]     |
[INFO] [stdout] 308 |     ExactlyOnce = 2,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub enum Message {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         ActorMessage(super::ProtoMessageEnvelope),
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         BrokerMessage(super::ProtoBrokerMessage),
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         Heartbeat(super::ProtoNodeInfo),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         Election(super::ProtoElectionMessage),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         MasterState(super::ProtoMasterState),
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         StatusUpdate(super::ProtoStatusUpdate),
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         Ack(super::ProtoAck),
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Close(super::ProtoClose),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         Handshake(super::ProtoNodeInfo),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |         ActorDiscoveryRequest(super::ProtoActorDiscoveryRequest),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ActorDiscoveryResponse(super::ProtoActorDiscoveryResponse),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         BrokerSubscribe(super::ProtoBrokerSubscribe),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         BrokerUnsubscribe(super::ProtoBrokerUnsubscribe),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         BrokerAck(super::ProtoBrokerAck),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Subscribe(super::ProtoSubscribe),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         Envelope(super::ProtoMessageEnvelope),
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/actix-cluster-543e5dba39657c28/out/actix_cluster.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Consensus(super::ProtoConsensus),
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> actix-cluster/src/registry.rs:1027:5
[INFO] [stdout]      |
[INFO] [stdout] 1027 |     pub transport: Arc<tokio::sync::Mutex<P2PTransport>>,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> actix-cluster/src/transport.rs:213:1
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub enum MessageHandlerType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> actix-cluster/src/transport.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     Function(Box<dyn Fn(NodeId, TransportMessage) -> ClusterResult<()> + Send + Sync>),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> actix-cluster/src/transport.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     Actor(actix::Addr<MessageEnvelopeHandler>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude::*`
[INFO] [stdout]  --> actix-cluster/tests/remote_actor_communication_test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix::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 imports: `ClusterError`, `DeliveryGuarantee`, `MigrationOptions`, `MigrationReason`, `MigrationStatus`, `P2PTransport`, and `TransportMessage`
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:6:13
[INFO] [stdout]    |
[INFO] [stdout]  6 |     error::{ClusterError, ClusterResult},
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]  7 |     message::{DeliveryGuarantee, AnyMessage},
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     migration::{MigrationManager, MigrationOptions, MigrationReason, MigrationStatus},
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     transport::{P2PTransport, TransportMessage}
[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: `Mutex`
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Arc, Mutex};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:17:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `random` and `seq::SliceRandom`
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | use rand::{random, seq::SliceRandom};
[INFO] [stdout]    |            ^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex as TokioMutex`
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use tokio::sync::Mutex as TokioMutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActorPath` and `RemoteActorRef`
[INFO] [stdout]   --> actix-cluster/tests/remote_actor_communication_test.rs:9:65
[INFO] [stdout]    |
[INFO] [stdout]  9 |     transport::{P2PTransport, TransportMessage, MessageHandler, RemoteActorRef},
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     message::{MessageEnvelope, MessageType, DeliveryGuarantee, ActorPath},
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeInfo` and `Node`
[INFO] [stdout]  --> actix-cluster/examples/libp2p_cluster.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     SerializationFormat, Node, NodeId, NodeInfo,
[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: `std::sync::Arc`
[INFO] [stdout]   --> actix-cluster/examples/libp2p_cluster.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> actix-cluster/examples/libp2p_cluster.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]   --> examples/chat_system/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::debug;
[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 variable: `node1_id`
[INFO] [stdout]   --> actix-cluster/tests/network_transport_test.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let node1_id = node1.local_node().id.clone();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node1_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `before_migration`, `after_migration`, and `can_migrate` are never used
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | trait MigratableActorTest: Actor {
[INFO] [stdout]    |       ------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn before_migration(&mut self, _ctx: &mut Self::Context) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     fn after_migration(&mut self, _ctx: &mut Self::Context) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 56 |     fn can_migrate(&self) -> bool { true }
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DistributedActorTest` is never used
[INFO] [stdout]   --> actix-cluster/tests/actor_migration_test.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | trait DistributedActorTest: Actor {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimpleActorRef` is never constructed
[INFO] [stdout]    --> actix-cluster/tests/actor_migration_test.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | struct SimpleActorRef {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `envelope`
[INFO] [stdout]   --> actix-cluster/tests/remote_actor_communication_test.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 |         if let TransportMessage::Envelope(envelope) = message {
[INFO] [stdout]    |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_envelope`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transport1_arc`
[INFO] [stdout]   --> actix-cluster/tests/remote_actor_communication_test.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let transport1_arc = Arc::new(TokioMutex::new(transport1));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport1_arc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `thread_rng`
[INFO] [stdout]  --> actix-cluster/examples/advanced_benchmark.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{Rng, thread_rng};
[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: `NodeInfo`
[INFO] [stdout]   --> actix-cluster/examples/advanced_benchmark.rs:14:36
[INFO] [stdout]    |
[INFO] [stdout] 14 |     NodeRole, SerializationFormat, NodeInfo
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> actix-cluster/examples/simple_performance_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[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: `tokio::sync::Mutex`
[INFO] [stdout]  --> actix-cluster/examples/simple_performance_test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> actix-cluster/examples/distributed_benchmark.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[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: `NodeId`
[INFO] [stdout]   --> actix-cluster/examples/distributed_benchmark.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 |     SerializationFormat, NodeId, AnyMessage
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]   --> examples/chat_system/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::debug;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `payload` is never read
[INFO] [stdout]   --> actix-cluster/examples/simple_performance_test.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct TestMessage {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     payload: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `timestamp` are never read
[INFO] [stdout]   --> actix-cluster/examples/simple_performance_test.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct TestResponse {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 26 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 27 |     timestamp: Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> actix-cluster/examples/simple_performance_test.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct TestResult {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 90 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeId` and `PlacementStrategy`
[INFO] [stdout]  --> actix-cluster/examples/supervised_actor.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use actix_cluster::node::{NodeId, PlacementStrategy};
[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 variable: `seed_node`
[INFO] [stdout]   --> examples/chat_system/src/main.rs:88:61
[INFO] [stdout]    |
[INFO] [stdout] 88 | async fn start_node(node_id: String, bind_addr: SocketAddr, seed_node: Option<String>) -> std::io::Result<()> {
[INFO] [stdout]    |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_node`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `leave_room` is never used
[INFO] [stdout]   --> examples/chat_system/src/main.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl SimulatedClient {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn leave_room(&self, room: 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: methods `register_user` and `unregister_user` are never used
[INFO] [stdout]   --> examples/chat_system/src/actors/chat_service.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl ChatServiceActor {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn register_user(&mut self, user_id: String, user_ref: Box<dyn ActorRef>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn unregister_user(&mut self, user_id: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> actix-cluster/tests/placement_strategy_tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[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 variable: `ctx`
[INFO] [stdout]    --> actix-cluster/examples/supervised_actor.rs:105:42
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn handle(&mut self, msg: Increment, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMALL_MESSAGE` is never used
[INFO] [stdout]   --> actix-cluster/examples/advanced_benchmark.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const SMALL_MESSAGE: usize = 128;    // 128 bytes
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LARGE_MESSAGE` is never used
[INFO] [stdout]   --> actix-cluster/examples/advanced_benchmark.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const LARGE_MESSAGE: usize = 65536;  // 64 KB
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Burst`, `Ramp`, and `Wave` are never constructed
[INFO] [stdout]   --> actix-cluster/examples/advanced_benchmark.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | enum LoadPattern {
[INFO] [stdout]    |      ----------- variants in this enum
[INFO] [stdout] 25 |     Constant,      // 稳定负载
[INFO] [stdout] 26 |     Burst,         // 突发流量
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 27 |     Ramp,          // 逐步增加
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 28 |     Wave           // 波动负载
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadPattern` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sender_node` and `payload` are never read
[INFO] [stdout]   --> actix-cluster/examples/advanced_benchmark.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct BenchmarkMessage {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 35 |     id: u64,
[INFO] [stdout] 36 |     sender_node: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     timestamp: Instant,
[INFO] [stdout] 38 |     payload: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `responder_node` are never read
[INFO] [stdout]   --> actix-cluster/examples/advanced_benchmark.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct BenchmarkResponse {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 45 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     responder_node: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message_size` is never read
[INFO] [stdout]    --> actix-cluster/examples/advanced_benchmark.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | struct BenchmarkActor {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     message_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_addr`
[INFO] [stdout]    --> actix-cluster/examples/supervised_actor.rs:169:32
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 if let Ok(Some(new_addr)) = result {
[INFO] [stdout]     |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> actix-cluster/examples/local_affinity_example.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[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: `NodeId` and `NodeInfo`
[INFO] [stdout]  --> actix-cluster/examples/local_affinity_example.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix_cluster::node::{NodeId, NodeInfo, PlacementStrategy};
[INFO] [stdout]   |                           ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeliveryGuarantee` and `MessageEnvelope`
[INFO] [stdout]  --> actix-cluster/examples/local_affinity_example.rs:8:30
[INFO] [stdout]   |
[INFO] [stdout] 8 | use actix_cluster::message::{MessageEnvelope, DeliveryGuarantee};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking distributed_benchmark v0.1.0 (/opt/rustwide/workdir/examples/distributed_benchmark)
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> actix-cluster/examples/local_affinity_example.rs:25:27
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn started(&mut self, ctx: &mut Self::Context) {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> actix-cluster/examples/local_affinity_example.rs:71:59
[INFO] [stdout]    |
[INFO] [stdout] 71 |         ctx.run_later(Duration::from_secs(1), move |_act, ctx| {
[INFO] [stdout]    |                                                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> actix-cluster/examples/simple_benchmark.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `actix_cluster::prelude::*`
[INFO] [stdout]   --> actix-cluster/examples/simple_benchmark.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use actix_cluster::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Architecture`, `ClusterConfig`, `ClusterSystem`, and `DiscoveryMethod`
[INFO] [stdout]   --> actix-cluster/examples/simple_benchmark.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use actix_cluster::{ClusterSystem, Architecture, ClusterConfig, DiscoveryMethod};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::serialization::SerializationFormat`
[INFO] [stdout]   --> actix-cluster/examples/simple_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use actix_cluster::serialization::SerializationFormat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, and `SocketAddr`
[INFO] [stdout]   --> actix-cluster/examples/simple_benchmark.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::net::{SocketAddr, IpAddr, Ipv4Addr};
[INFO] [stdout]    |                ^^^^^^^^^^  ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system_addr`
[INFO] [stdout]    --> actix-cluster/examples/local_affinity_example.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |     let system_addr = cluster.start().await.unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActorPath`
[INFO] [stdout]   --> actix-cluster/tests/network_integration_test.rs:13:64
[INFO] [stdout]    |
[INFO] [stdout] 13 |     message::{MessageEnvelope, MessageType, DeliveryGuarantee, ActorPath},
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `primary_path` is never read
[INFO] [stdout]   --> actix-cluster/examples/local_affinity_example.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct SecondaryActor {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] 60 |     group_id: String,
[INFO] [stdout] 61 |     primary_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecondaryActor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed_node`
[INFO] [stdout]   --> examples/chat_system/src/main.rs:88:61
[INFO] [stdout]    |
[INFO] [stdout] 88 | async fn start_node(node_id: String, bind_addr: SocketAddr, seed_node: Option<String>) -> std::io::Result<()> {
[INFO] [stdout]    |                                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seed_node`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `leave_room` is never used
[INFO] [stdout]   --> examples/chat_system/src/main.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl SimulatedClient {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn leave_room(&self, room: 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: methods `register_user` and `unregister_user` are never used
[INFO] [stdout]   --> examples/chat_system/src/actors/chat_service.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl ChatServiceActor {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn register_user(&mut self, user_id: String, user_ref: Box<dyn ActorRef>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn unregister_user(&mut self, user_id: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeId`
[INFO] [stdout]  --> examples/distributed_benchmark/src/main.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 |     SerializationFormat, NodeId, AnyMessage, ActorRef
[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: `NodeStatus`
[INFO] [stdout]  --> actix-cluster/tests/network_broker_test.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     node::{NodeId, NodeInfo, NodeStatus},
[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: `oneshot`
[INFO] [stdout]   --> actix-cluster/tests/network_broker_test.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::sync::{Mutex, RwLock, oneshot};
[INFO] [stdout]    |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `avg_throughput`
[INFO] [stdout]    --> actix-cluster/examples/distributed_benchmark.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let (avg_throughput, throughput_std_dev, stability) = self.calculate_throughput_stats();
[INFO] [stdout]     |              ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_avg_throughput`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `throughput_std_dev`
[INFO] [stdout]    --> actix-cluster/examples/distributed_benchmark.rs:247:30
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let (avg_throughput, throughput_std_dev, stability) = self.calculate_throughput_stats();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_throughput_std_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeId`
[INFO] [stdout]   --> actix-cluster/examples/api_optimization/main.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     node::{PlacementStrategy, NodeId},
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut successful = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut failed = 0;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `local_node` and `sent_messages` are never read
[INFO] [stdout]   --> actix-cluster/tests/network_broker_test.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct MockP2PTransport {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 55 |     local_node: NodeInfo,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 56 |     sent_messages: Vec<(NodeId, TransportMessage)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_message` is never used
[INFO] [stdout]   --> actix-cluster/tests/network_broker_test.rs:67:14
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl MockP2PTransport {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     async fn send_message(&mut self, node_id: &NodeId, message: TransportMessage) -> Result<(), ClusterError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TransportProvider` is never used
[INFO] [stdout]   --> actix-cluster/tests/network_broker_test.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | trait TransportProvider: Send + Sync {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude`
[INFO] [stdout]  --> actix-cluster/tests/network_integration_test.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> actix-cluster/examples/simple_benchmark.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn handle(&mut self, msg: BenchMessage, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let start = Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `successful`
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut successful = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_successful`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `failed`
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut failed = 0;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_failed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_time` is never read
[INFO] [stdout]    --> actix-cluster/examples/distributed_benchmark.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | struct TestActor {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 294 |     start_time: Instant,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestActor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetLocalActors` is never constructed
[INFO] [stdout]    --> actix-cluster/examples/distributed_benchmark.rs:387:8
[INFO] [stdout]     |
[INFO] [stdout] 387 | struct GetLocalActors;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetClusterNodes` is never constructed
[INFO] [stdout]    --> actix-cluster/examples/distributed_benchmark.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | struct GetClusterNodes;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoordinatorActor` is never constructed
[INFO] [stdout]    --> actix-cluster/examples/distributed_benchmark.rs:395:8
[INFO] [stdout]     |
[INFO] [stdout] 395 | struct CoordinatorActor {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> actix-cluster/examples/distributed_benchmark.rs:400:8
[INFO] [stdout]     |
[INFO] [stdout] 399 | impl CoordinatorActor {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 400 |     fn new(node_id: String) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `p50_latency`, `p95_latency`, `p99_latency`, and `test_duration` are never read
[INFO] [stdout]   --> actix-cluster/examples/simple_benchmark.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | struct ActorMetrics {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     p50_latency: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 49 |     p95_latency: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 50 |     p99_latency: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 51 |     throughput: f64,
[INFO] [stdout] 52 |     test_duration: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ActorMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `target_paths` is never read
[INFO] [stdout]    --> actix-cluster/examples/simple_benchmark.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 227 | struct SendMessages {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 228 |     targets: Vec<Addr<BenchActor>>,
[INFO] [stdout] 229 |     target_paths: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `collector` is never read
[INFO] [stdout]    --> actix-cluster/examples/simple_benchmark.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 446 | struct BenchCoordinator {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] 447 |     actors: HashMap<usize, Addr<BenchActor>>,
[INFO] [stdout] 448 |     collector: Addr<ResultCollector>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]   --> examples/distributed_benchmark/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct TestMetrics {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 16 |     node_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: method `avg_process_time` is never used
[INFO] [stdout]   --> examples/distributed_benchmark/src/main.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl TestMetrics {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn avg_process_time(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id` and `processed` are never read
[INFO] [stdout]   --> examples/distributed_benchmark/src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct TestResult {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 68 |     pub node_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 69 |     pub processed: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sender_node` and `timestamp` are never read
[INFO] [stdout]   --> actix-cluster/examples/multi_node_benchmark.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct TestMessage {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 19 |     id: u64,
[INFO] [stdout] 20 |     sender_node: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 21 |     timestamp: u64,  // 使用简单的u64表示时间戳
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original_id` is never read
[INFO] [stdout]   --> actix-cluster/examples/multi_node_benchmark.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct TestResponse {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 28 |     original_id: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `failures`, `start_time`, and `end_time` are never read
[INFO] [stdout]   --> actix-cluster/examples/multi_node_benchmark.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct BenchmarkResult {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     failures: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 44 |     start_time: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     end_time: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_rt::System`
[INFO] [stdout]  --> actix-cluster/examples/cluster_benchmark.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix_rt::System;
[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: `Mutex`
[INFO] [stdout]  --> actix-cluster/examples/cluster_benchmark.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::{Mutex, mpsc, RwLock};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timeout`
[INFO] [stdout]  --> actix-cluster/examples/cluster_benchmark.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::time::{sleep, timeout};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VecDeque`
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::{VecDeque};
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{self, info, debug, warn, error};
[INFO] [stdout]    |                 ^^^^  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActorPath` and `NodeInfo`
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     SerializationFormat, NodeInfo, NodeId, ActorPath
[INFO] [stdout]    |                          ^^^^^^^^          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::cluster::ClusterSystemActor`
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use actix_cluster::cluster::ClusterSystemActor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_completed` and `received_count` are never used
[INFO] [stdout]   --> actix-cluster/tests/network_integration_test.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl NetworkMessageReceiver {
[INFO] [stdout]    | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn is_completed(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn received_count(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/examples/cluster_benchmark.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |     let mut system = ClusterSystem::new(cluster_config);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicBool` and `Ordering`
[INFO] [stdout]  --> actix-cluster/tests/distributed_actor_registry_test.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::{AtomicBool, Ordering};
[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: `TransportAdapter`
[INFO] [stdout]   --> actix-cluster/tests/distributed_actor_registry_test.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |     registry::{ActorRegistry, TransportAdapter},
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_rt::System`
[INFO] [stdout]  --> actix-cluster/examples/simple_validate.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_rt::System;
[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: `std::sync::Arc`
[INFO] [stdout]  --> actix-cluster/examples/compression_example.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `DiscoveryMethod`, `MessageEnvelope`, `MessageType`, `node::NodeId`, and `transport::P2PTransport`
[INFO] [stdout]   --> actix-cluster/examples/compression_example.rs:7:68
[INFO] [stdout]    |
[INFO] [stdout]  7 |     Architecture, ClusterConfig, ClusterSystem, DeliveryGuarantee, DiscoveryMethod,
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     MessageEnvelope, MessageType, NodeRole, SerializationFormat, AnyMessage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]  9 |     compression::{CompressionAlgorithm, CompressionConfig, CompressionLevel},
[INFO] [stdout] 10 |     node::NodeId,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     transport::P2PTransport,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude`
[INFO] [stdout]  --> actix-cluster/examples/simple_validate.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]   --> actix-cluster/examples/compression_example.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::info;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageEnvelope` and `MessageType`
[INFO] [stdout]  --> actix-cluster/tests/pluggable_transport_test.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     MessageEnvelope, MessageType, NodeRole, SerializationFormat, AnyMessage,
[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 variable: `addr`
[INFO] [stdout]   --> actix-cluster/examples/simple_validate.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 |             Ok(addr) => {
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_config` is never used
[INFO] [stdout]   --> actix-cluster/examples/simple_validate.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn create_config() -> ClusterConfig {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node1_info`
[INFO] [stdout]   --> actix-cluster/examples/validate_cluster.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let node1_info = node1_system.local_node().clone();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node1_info`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> actix-cluster/examples/cluster_benchmark.rs:721:5
[INFO] [stdout]     |
[INFO] [stdout] 721 |     name: String,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ACTOR_COUNT` is never used
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const ACTOR_COUNT: usize = 10;    // 每个节点上的Actor数量
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLUSTER_NODES` is never used
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const CLUSTER_NODES: usize = 2;   // 集群节点数量
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sender`, `size`, and `payload` are never read
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct PingMessage {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     sender: NodeId,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 31 |     size: usize,        // 消息大小(字节)
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     payload: Vec<u8>,   // 填充数据
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PingMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `original_timestamp`, and `responder` are never read
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct PingResponse {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 38 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 39 |     original_timestamp: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     responder: NodeId,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PingResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id`, `timestamp`, `cpu_usage`, `memory_usage`, `message_processed`, and `is_healthy` are never read
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct NodeStatusReport {
[INFO] [stdout]    |        ---------------- fields in this struct
[INFO] [stdout] 52 |     node_id: NodeId,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 53 |     timestamp: Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 54 |     cpu_usage: f32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 55 |     memory_usage: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 56 |     message_processed: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     is_healthy: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeStatusReport` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `errors` is never read
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct BenchmarkResults {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     errors: Vec<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkResults` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message_size` and `batch_size` are never read
[INFO] [stdout]   --> actix-cluster/examples/cluster_benchmark.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | struct BenchmarkConfig {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 90 |     message_count: u64,        // 每个节点发送的消息数
[INFO] [stdout] 91 |     message_size: usize,       // 消息大小(字节)
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 92 |     batch_size: usize,         // 批处理大小
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status_reports` and `cluster_system` are never read
[INFO] [stdout]    --> actix-cluster/examples/cluster_benchmark.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct BenchmarkActor {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     status_reports: HashMap<NodeId, Vec<NodeStatusReport>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     cluster_system: Option<Arc<RwLock<ClusterSystem>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking task_processor v0.1.0 (/opt/rustwide/workdir/examples/task_processor)
[INFO] [stderr]     Checking file_sync v0.1.0 (/opt/rustwide/workdir/examples/file_sync)
[INFO] [stdout] warning: unused variable: `node1_id`
[INFO] [stdout]   --> actix-cluster/tests/pluggable_transport_test.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let node1_id = node1.local_node().id.clone();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node1_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `payload` is never read
[INFO] [stdout]   --> actix-cluster/examples/minimal_benchmark.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct BenchmarkMessage {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     payload: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `original_timestamp` are never read
[INFO] [stdout]   --> actix-cluster/examples/minimal_benchmark.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct BenchmarkResponse {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 25 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 26 |     original_timestamp: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex as StdMutex`
[INFO] [stdout]  --> examples/task_processor/src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex as StdMutex};
[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: `NodeId`
[INFO] [stdout]  --> examples/task_processor/src/main.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 |     SerializationFormat, NodeId, AnyMessage
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::cluster::SimpleActorRef`
[INFO] [stdout]   --> examples/task_processor/src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use actix_cluster::cluster::SimpleActorRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex as StdMutex`
[INFO] [stdout]  --> examples/file_sync/src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex as StdMutex};
[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: `NodeId`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     SerializationFormat, NodeId, AnyMessage
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::cluster::SimpleActorRef`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use actix_cluster::cluster::SimpleActorRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::interval`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::time::interval;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> actix-cluster/tests/distributed_actor_registry_test.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 let response = TransportMessage::ActorDiscoveryResponse(
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_actor`
[INFO] [stdout]    --> actix-cluster/examples/simple_node_benchmark.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let sender_actor = SenderActor::new("Sender".to_string(), batch_size).start();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_actor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `payload` is never read
[INFO] [stdout]   --> actix-cluster/examples/simple_node_benchmark.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct TestMessage {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     payload: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> actix-cluster/examples/simple_node_benchmark.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct TestResponse {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 26 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/tests/distributed_actor_registry_test.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let mut transport = transport_adapter.lock().await;
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/tests/distributed_actor_registry_test.rs:357:13
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let mut dummy_transport = P2PTransport::new(
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_info`
[INFO] [stdout]    --> actix-cluster/tests/distributed_actor_registry_test.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let node_info = NodeInfo::new(
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> actix-cluster/tests/consensus_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `Architecture`, `ClusterConfig`, `ClusterSystem`, `ConsensusState`, and `DiscoveryMethod`
[INFO] [stdout]  --> actix-cluster/tests/consensus_test.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     cluster::{ClusterSystem, Architecture},
[INFO] [stdout]   |               ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 7 |     config::{ClusterConfig, DiscoveryMethod, NodeRole},
[INFO] [stdout]   |              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     consensus::{ConsensusActor, ConsensusCommand, ConsensusState, GetConsensusState},
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeId`
[INFO] [stdout]  --> examples/distributed_benchmark/src/main.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 |     SerializationFormat, NodeId, AnyMessage, ActorRef
[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: `std::sync::Arc`
[INFO] [stdout]  --> actix-cluster/examples/message_compression_demo.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `MessageEnvelope`, `MessageType`, and `node::NodeId`
[INFO] [stdout]   --> actix-cluster/examples/message_compression_demo.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     MessageEnvelope, MessageType, NodeRole, SerializationFormat, AnyMessage,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]  9 |     compression::{CompressionAlgorithm, CompressionConfig, CompressionLevel, get_compression_stats},
[INFO] [stdout] 10 |     node::NodeId,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> actix-cluster/examples/message_compression_demo.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, warn, error};
[INFO] [stdout]    |                 ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_mock_connection_pair` is never used
[INFO] [stdout]   --> actix-cluster/tests/distributed_actor_registry_test.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | async fn create_mock_connection_pair() -> (TcpStream, TcpStream) {
[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 `TestMessageHandler` is never constructed
[INFO] [stdout]   --> actix-cluster/tests/distributed_actor_registry_test.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | struct TestMessageHandler {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `register_actor` are never used
[INFO] [stdout]    --> actix-cluster/tests/distributed_actor_registry_test.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl TestMessageHandler {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 102 |     fn new(node_id: NodeId, other_node_id: NodeId) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn register_actor(&self, path: String, marker: Arc<MessageReceived>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forward_message` is never used
[INFO] [stdout]    --> actix-cluster/tests/distributed_actor_registry_test.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | async fn forward_message(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `node::NodeId`
[INFO] [stdout]   --> actix-cluster/tests/remote_messaging_test.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     node::NodeId,
[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: `actix_cluster::serialization::BincodeSerializer`
[INFO] [stdout]   --> actix-cluster/tests/remote_messaging_test.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use actix_cluster::serialization::BincodeSerializer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut successful = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut failed = 0;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> examples/file_sync/src/main.rs:390:42
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn handle(&mut self, msg: SyncFiles, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_id`
[INFO] [stdout]    --> examples/file_sync/src/main.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let my_id = self.node_id.clone();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_my_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_then_sync`
[INFO] [stdout]    --> examples/file_sync/src/main.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |             let scan_then_sync = async {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_then_sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `received_content`
[INFO] [stdout]   --> actix-cluster/tests/remote_messaging_test.rs:75:62
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn new_with_flags(message_received: Arc<AtomicBool>, received_content: Arc<Mutex<Option<String>>>) -> Self {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_received_content`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let start = Instant::now();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `successful`
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let mut successful = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_successful`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `failed`
[INFO] [stdout]    --> examples/distributed_benchmark/src/main.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut failed = 0;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_failed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node1_id`
[INFO] [stdout]    --> actix-cluster/tests/remote_messaging_test.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let node1_id = node1.local_node().id.clone();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node1_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> actix-cluster/tests/remote_messaging_test.rs:278:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |             let mut handler_locked = handler_clone.lock();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interval` is never read
[INFO] [stdout]   --> examples/file_sync/src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Args {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     interval: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Args` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]   --> examples/distributed_benchmark/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct TestMetrics {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 16 |     node_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: method `avg_process_time` is never used
[INFO] [stdout]   --> examples/distributed_benchmark/src/main.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl TestMetrics {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn avg_process_time(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id` and `processed` are never read
[INFO] [stdout]   --> examples/distributed_benchmark/src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct TestResult {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 68 |     pub node_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 69 |     pub processed: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> actix-cluster/examples/compression_test.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{Duration, Instant};
[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: `SerializerTrait`
[INFO] [stdout]  --> actix-cluster/examples/compression_test.rs:3:55
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_cluster::serialization::{BincodeSerializer, SerializerTrait};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]    --> examples/file_sync/src/main.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 | /             async move {
[INFO] [stdout] 407 | |                 match remote_actor.send_any(get_files_msg) {
[INFO] [stdout] 408 | |                     Ok(_) => {
[INFO] [stdout] 409 | |                         info!("Requested file list from {}", msg.source_node);
[INFO] [stdout] ...   |
[INFO] [stdout] 415 | |             };
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system1_addr`
[INFO] [stdout]    --> actix-cluster/examples/message_compression_demo.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     let system1_addr = system1.start().await.expect("Failed to start node 1");
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system1_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system2_addr`
[INFO] [stdout]    --> actix-cluster/examples/message_compression_demo.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let system2_addr = system2.start().await.expect("Failed to start node 2");
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_system2_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex as StdMutex`
[INFO] [stdout]  --> examples/file_sync/src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex as StdMutex};
[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: `NodeId`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     SerializationFormat, NodeId, AnyMessage
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::cluster::SimpleActorRef`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use actix_cluster::cluster::SimpleActorRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::interval`
[INFO] [stdout]   --> examples/file_sync/src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::time::interval;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compression_config`
[INFO] [stdout]   --> actix-cluster/examples/compression_test.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let compression_config = CompressionConfig {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compression_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex as StdMutex`
[INFO] [stdout]  --> examples/task_processor/src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex as StdMutex};
[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: `NodeId`
[INFO] [stdout]  --> examples/task_processor/src/main.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 |     SerializationFormat, NodeId, AnyMessage
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::cluster::SimpleActorRef`
[INFO] [stdout]   --> examples/task_processor/src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use actix_cluster::cluster::SimpleActorRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> actix-cluster/tests/message_compression_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `MessageResult`
[INFO] [stdout]  --> actix-cluster/tests/message_compression_test.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use actix::{Handler, Context, MessageResult};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `payload` is never read
[INFO] [stdout]   --> actix-cluster/examples/direct_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct TestMessage {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     payload: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestMessage` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> actix-cluster/examples/direct_benchmark.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct TestResponse {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 19 |     id: u64,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TestResponse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> examples/task_processor/src/main.rs:215:42
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn handle(&mut self, mut task: Task, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> examples/file_sync/src/main.rs:390:42
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn handle(&mut self, msg: SyncFiles, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_id`
[INFO] [stdout]    --> examples/file_sync/src/main.rs:395:17
[INFO] [stdout]     |
[INFO] [stdout] 395 |             let my_id = self.node_id.clone();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_my_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scan_then_sync`
[INFO] [stdout]    --> examples/file_sync/src/main.rs:398:17
[INFO] [stdout]     |
[INFO] [stdout] 398 |             let scan_then_sync = async {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scan_then_sync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interval` is never read
[INFO] [stdout]   --> examples/file_sync/src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Args {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     interval: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Args` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused implementer of `Future` that must be used
[INFO] [stdout]    --> examples/file_sync/src/main.rs:406:13
[INFO] [stdout]     |
[INFO] [stdout] 406 | /             async move {
[INFO] [stdout] 407 | |                 match remote_actor.send_any(get_files_msg) {
[INFO] [stdout] 408 | |                     Ok(_) => {
[INFO] [stdout] 409 | |                         info!("Requested file list from {}", msg.source_node);
[INFO] [stdout] ...   |
[INFO] [stdout] 415 | |             };
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: futures do nothing unless you `.await` or poll them
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> examples/task_processor/src/main.rs:215:42
[INFO] [stdout]     |
[INFO] [stdout] 215 |     fn handle(&mut self, mut task: Task, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking trading v0.1.0 (/opt/rustwide/workdir/trading)
[INFO] [stderr]     Checking http_api v0.1.0 (/opt/rustwide/workdir/examples/http_api)
[INFO] [stdout] warning: unused import: `NodeId`
[INFO] [stdout]   --> examples/http_api/src/main.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 |     SerializationFormat, NodeId, AnyMessage
[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: `debug`
[INFO] [stdout]   --> examples/http_api/src/main.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::registry::ActorRef`
[INFO] [stdout]   --> examples/http_api/src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use actix_cluster::registry::ActorRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeId`
[INFO] [stdout]   --> examples/http_api/src/main.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 |     SerializationFormat, NodeId, AnyMessage
[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: `debug`
[INFO] [stdout]   --> examples/http_api/src/main.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_cluster::registry::ActorRef`
[INFO] [stdout]   --> examples/http_api/src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use actix_cluster::registry::ActorRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/http_api/src/main.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |         if let Some(mut cluster) = cluster_guard.take() {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/http_api/src/main.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |         if let Some(mut cluster) = cluster_guard.take() {
[INFO] [stdout]     |                     ----^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]   --> examples/http_api/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use futures::StreamExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]   --> examples/http_api/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use futures::StreamExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster`
[INFO] [stdout]    --> examples/http_api/src/main.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |         if let Some(mut cluster) = cluster_guard.take() {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OrderSide` and `OrderType`
[INFO] [stdout]   --> trading/src/actor/order.rs:10:64
[INFO] [stdout]    |
[INFO] [stdout] 10 |     OrderRequest, OrderResult, OrderQuery, CancelOrderRequest, OrderType, OrderSide
[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: `crate::risk::RiskCheckRequest`
[INFO] [stdout]   --> trading/src/actor/order.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::risk::RiskCheckRequest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> trading/src/actor/order.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> trading/src/execution/engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OrderStatus` and `OrderType`
[INFO] [stdout]  --> trading/src/execution/engine.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::order::{Order, OrderType, OrderSide, OrderStatus};
[INFO] [stdout]   |                                   ^^^^^^^^^             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> trading/src/execution/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OrderSide`, `OrderStatus`, `OrderType`, and `Order`
[INFO] [stdout]  --> trading/src/execution/tests.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::models::order::{Order, OrderSide, OrderType, OrderStatus};
[INFO] [stdout]   |                            ^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::execution::order_book::OrderBook`
[INFO] [stdout]  --> trading/src/execution/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::execution::order_book::OrderBook;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::execution::matcher::OrderMatcher`
[INFO] [stdout]  --> trading/src/execution/tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::execution::matcher::OrderMatcher;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> trading/src/persistence/storage.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{warn, error, debug};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> trading/src/persistence/snapshot.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{warn, error, debug};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cluster`
[INFO] [stdout]    --> examples/http_api/src/main.rs:388:21
[INFO] [stdout]     |
[INFO] [stdout] 388 |         if let Some(mut cluster) = cluster_guard.take() {
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::risk::RiskCheckRequest`
[INFO] [stdout]   --> trading/src/actor/order.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::risk::RiskCheckRequest;
[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: `chrono::Utc`
[INFO] [stdout]   --> trading/src/actor/order.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> trading/src/persistence/storage.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{warn, error, debug};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> trading/src/persistence/snapshot.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{warn, error, debug};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude`
[INFO] [stdout]  --> trading/src/actor/order.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use actix::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude`
[INFO] [stdout]  --> trading/src/execution/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/actor/order.rs:162:62
[INFO] [stdout]     |
[INFO] [stdout] 162 |     async fn perform_risk_check(&self, order: &OrderRequest, ctx: &mut ActorContext) -> bool {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `risk_manager`
[INFO] [stdout]    --> trading/src/actor/order.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |         if let Some(risk_manager) = &self.risk_manager {
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_risk_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> trading/src/actor/mod.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub async fn ask<M>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<Box<dyn std::any::Any>>
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> trading/src/actor/mod.rs:59:59
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub async fn ask<M>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<Box<dyn std::any::Any>>
[INFO] [stdout]    |                                                           ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/actor/order.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn new_context(&self, ctx: &mut ActorContext) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/actor/order.rs:238:57
[INFO] [stdout]     |
[INFO] [stdout] 238 |     async fn handle(&mut self, msg: CancelOrderMessage, ctx: &mut ActorContext) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reference`
[INFO] [stdout]    --> trading/src/actor/account.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         reference: Option<String>
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reference`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor`
[INFO] [stdout]   --> trading/src/actor/mod.rs:94:38
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub async fn create_actor(&self, actor: Box<dyn Actor>) -> Box<dyn ActorRef> {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_actor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> trading/src/actor/mod.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub async fn ask<M, R>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<R>
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> trading/src/actor/mod.rs:103:62
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub async fn ask<M, R>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<R>
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/execution/engine.rs:252:27
[INFO] [stdout]     |
[INFO] [stdout] 252 |     fn new_context(&self, ctx: &mut ActorContext) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_key`
[INFO] [stdout]    --> trading/src/execution/order_book.rs:207:14
[INFO] [stdout]     |
[INFO] [stdout] 207 |         for (price_key, orders) in self.buy_orders.range(target_price_key..) {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_key`
[INFO] [stdout]    --> trading/src/execution/order_book.rs:220:14
[INFO] [stdout]     |
[INFO] [stdout] 220 |         for (price_key, orders) in self.sell_orders.range(..=target_price_key) {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/risk/manager.rs:243:53
[INFO] [stdout]     |
[INFO] [stdout] 243 |     async fn get_account(&self, account_id: String, ctx: &mut ActorContext) -> Option<Account> {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/risk/manager.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn new_context(&self, ctx: &mut ActorContext) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:313:67
[INFO] [stdout]     |
[INFO] [stdout] 313 |     pub fn handle_cluster_message(&mut self, msg: ClusterMessage, ctx: &mut Context<Self>) {
[INFO] [stdout]     |                                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:324:27
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn started(&mut self, ctx: &mut Self::Context) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_log_index`
[INFO] [stdout]    --> trading/src/cluster.rs:481:72
[INFO] [stdout]     |
[INFO] [stdout] 481 |     fn handle_request_vote(&mut self, term: u64, candidate_id: String, last_log_index: u64, last_log_term: u64) -> RaftResult {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_log_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_log_term`
[INFO] [stdout]    --> trading/src/cluster.rs:481:93
[INFO] [stdout]     |
[INFO] [stdout] 481 |     fn handle_request_vote(&mut self, term: u64, candidate_id: String, last_log_index: u64, last_log_term: u64) -> RaftResult {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_log_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:514:63
[INFO] [stdout]     |
[INFO] [stdout] 514 |     fn handle_cluster_message(&mut self, msg: ClusterMessage, ctx: &mut Context<Self>) {
[INFO] [stdout]     |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:525:27
[INFO] [stdout]     |
[INFO] [stdout] 525 |     fn started(&mut self, ctx: &mut Self::Context) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snapshot`
[INFO] [stdout]    --> trading/src/consensus/state_machine.rs:218:41
[INFO] [stdout]     |
[INFO] [stdout] 218 |     fn restore_from_snapshot(&mut self, snapshot: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snapshot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `votes_received`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |         let votes_received = 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_votes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `votes_needed`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let votes_needed = (self.cluster_nodes.len() + 1) / 2 + 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_votes_needed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:310:17
[INFO] [stdout]     |
[INFO] [stdout] 310 |             let request = RaftRequestMessage::RequestVote {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:369:35
[INFO] [stdout]     |
[INFO] [stdout] 369 |     fn send_heartbeats(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:392:17
[INFO] [stdout]     |
[INFO] [stdout] 392 |             let request = RaftRequestMessage::AppendEntries {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:620:66
[INFO] [stdout]     |
[INFO] [stdout] 620 |     fn replicate_log_to_follower(&mut self, follower_id: String, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:645:13
[INFO] [stdout]     |
[INFO] [stdout] 645 |         let request = RaftRequestMessage::AppendEntries {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:667:43
[INFO] [stdout]     |
[INFO] [stdout] 667 |     fn apply_committed_entries(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:778:51
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn handle(&mut self, msg: RaftRequestMessage, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:808:47
[INFO] [stdout]     |
[INFO] [stdout] 808 |     fn handle(&mut self, msg: ClusterMessage, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_`
[INFO] [stdout]    --> trading/src/persistence/storage.rs:228:15
[INFO] [stdout]     |
[INFO] [stdout] 228 |         for ((type_, _), bytes) in data.iter().filter(|((t, _), _)| *t == storage_type) {
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_type_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_actor`
[INFO] [stdout]   --> trading/src/api/adapter/order_actor.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_custom(order_actor: CustomOrderActor, actor_system: Arc<ActorSystem>) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_actor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_actor`
[INFO] [stdout]   --> trading/src/api/adapter/account_actor.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn from_custom(account_actor: CustomAccountActor, actor_system: Arc<ActorSystem>) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_actor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `risk_manager`
[INFO] [stdout]   --> trading/src/api/adapter/risk_actor.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn from_custom(risk_manager: RiskManager, actor_system: Arc<ActorSystem>) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_risk_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log`, `commit_index`, and `last_applied` are never read
[INFO] [stdout]    --> trading/src/cluster.rs:401:5
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub struct RaftConsensusActor {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 401 |     log: Vec<LogEntry>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 402 |     commit_index: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 403 |     last_applied: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_request_vote` is never used
[INFO] [stdout]    --> trading/src/cluster.rs:481:8
[INFO] [stdout]     |
[INFO] [stdout] 409 | impl RaftConsensusActor {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn handle_request_vote(&mut self, term: u64, candidate_id: String, last_log_index: u64, last_log_term: u64) -> RaftResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `heartbeat_timer` is never read
[INFO] [stdout]    --> trading/src/consensus/raft.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct RaftNodeActor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 184 |     heartbeat_timer: Option<SpawnHandle>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `become_leader`, `send_heartbeats`, and `handle_append_entries_response` are never used
[INFO] [stdout]    --> trading/src/consensus/raft.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl RaftNodeActor {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn become_leader(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn send_heartbeats(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 690 |     fn handle_append_entries_response(&mut self, 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `risk_actor` is never read
[INFO] [stdout]   --> trading/src/api/gateway.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ApiGatewayActor {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     risk_actor: Addr<ActixRiskActor>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude`
[INFO] [stdout]  --> trading/src/actor/order.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use actix::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix::prelude`
[INFO] [stdout]  --> trading/src/execution/engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use actix::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderResult`
[INFO] [stdout]   --> trading/tests/performance_test.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     OrderSide, OrderType, OrderRequest, OrderResult,
[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: `actix_web::http::StatusCode`
[INFO] [stdout]  --> trading/src/bin/api_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::http::StatusCode;
[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: `OrderResult`
[INFO] [stdout]  --> trading/tests/fault_recovery_test.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 |     OrderSide, OrderType, OrderRequest, OrderResult
[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: `uuid::Uuid`
[INFO] [stdout]  --> trading/tests/fault_recovery_test.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> trading/src/bin/api_server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[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: `std::env`
[INFO] [stdout]  --> trading/src/bin/api_server.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderResult`
[INFO] [stdout]   --> trading/src/bin/api_server.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 |     OrderSide, OrderType, OrderRequest, OrderResult, OrderQuery,
[INFO] [stdout]    |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> trading/tests/fault_recovery_test.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut node1 = TradingClusterManager::new(
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> trading/tests/performance_test.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut cluster_manager = TradingClusterManager::new(
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> trading/tests/performance_test.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let mut cluster_manager = TradingClusterManager::new(
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/actor/order.rs:162:62
[INFO] [stdout]     |
[INFO] [stdout] 162 |     async fn perform_risk_check(&self, order: &OrderRequest, ctx: &mut ActorContext) -> bool {
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `risk_manager`
[INFO] [stdout]    --> trading/src/actor/order.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |         if let Some(risk_manager) = &self.risk_manager {
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_risk_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> trading/src/actor/mod.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub async fn ask<M>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<Box<dyn std::any::Any>>
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> trading/src/actor/mod.rs:59:59
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub async fn ask<M>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<Box<dyn std::any::Any>>
[INFO] [stdout]    |                                                           ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/actor/order.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn new_context(&self, ctx: &mut ActorContext) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/actor/order.rs:238:57
[INFO] [stdout]     |
[INFO] [stdout] 238 |     async fn handle(&mut self, msg: CancelOrderMessage, ctx: &mut ActorContext) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> trading/tests/performance_test.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let mut cluster_manager = TradingClusterManager::new(
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actor`
[INFO] [stdout]   --> trading/src/actor/mod.rs:94:38
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub async fn create_actor(&self, actor: Box<dyn Actor>) -> Box<dyn ActorRef> {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_actor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> trading/src/actor/mod.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub async fn ask<M, R>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<R>
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]    --> trading/src/actor/mod.rs:103:62
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub async fn ask<M, R>(&self, target: Box<dyn ActorRef>, msg: M) -> Option<R>
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reference`
[INFO] [stdout]    --> trading/src/actor/account.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |         reference: Option<String>
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reference`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/execution/engine.rs:252:27
[INFO] [stdout]     |
[INFO] [stdout] 252 |     fn new_context(&self, ctx: &mut ActorContext) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `actix_web::http::StatusCode`
[INFO] [stdout]  --> trading/src/bin/api_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use actix_web::http::StatusCode;
[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: `std::time::Duration`
[INFO] [stdout]  --> trading/src/bin/api_server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[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: `std::env`
[INFO] [stdout]  --> trading/src/bin/api_server.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderResult`
[INFO] [stdout]   --> trading/src/bin/api_server.rs:13:41
[INFO] [stdout]    |
[INFO] [stdout] 13 |     OrderSide, OrderType, OrderRequest, OrderResult, OrderQuery,
[INFO] [stdout]    |                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_key`
[INFO] [stdout]    --> trading/src/execution/order_book.rs:207:14
[INFO] [stdout]     |
[INFO] [stdout] 207 |         for (price_key, orders) in self.buy_orders.range(target_price_key..) {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `price_key`
[INFO] [stdout]    --> trading/src/execution/order_book.rs:220:14
[INFO] [stdout]     |
[INFO] [stdout] 220 |         for (price_key, orders) in self.sell_orders.range(..=target_price_key) {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_price_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/risk/manager.rs:243:53
[INFO] [stdout]     |
[INFO] [stdout] 243 |     async fn get_account(&self, account_id: String, ctx: &mut ActorContext) -> Option<Account> {
[INFO] [stdout]     |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/risk/manager.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn new_context(&self, ctx: &mut ActorContext) {}
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OrderResult` and `TradingClusterManager`
[INFO] [stdout]  --> trading/tests/api_gateway_test.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     OrderSide, OrderType, OrderRequest, OrderResult, TradingClusterManager, CancelOrderRequest
[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: `IpAddr`, `Ipv4Addr`, and `SocketAddr`
[INFO] [stdout]  --> trading/tests/api_gateway_test.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::{IpAddr, Ipv4Addr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^  ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:313:67
[INFO] [stdout]     |
[INFO] [stdout] 313 |     pub fn handle_cluster_message(&mut self, msg: ClusterMessage, ctx: &mut Context<Self>) {
[INFO] [stdout]     |                                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:324:27
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn started(&mut self, ctx: &mut Self::Context) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_log_index`
[INFO] [stdout]    --> trading/src/cluster.rs:481:72
[INFO] [stdout]     |
[INFO] [stdout] 481 |     fn handle_request_vote(&mut self, term: u64, candidate_id: String, last_log_index: u64, last_log_term: u64) -> RaftResult {
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_log_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_log_term`
[INFO] [stdout]    --> trading/src/cluster.rs:481:93
[INFO] [stdout]     |
[INFO] [stdout] 481 |     fn handle_request_vote(&mut self, term: u64, candidate_id: String, last_log_index: u64, last_log_term: u64) -> RaftResult {
[INFO] [stdout]     |                                                                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_log_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:514:63
[INFO] [stdout]     |
[INFO] [stdout] 514 |     fn handle_cluster_message(&mut self, msg: ClusterMessage, ctx: &mut Context<Self>) {
[INFO] [stdout]     |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/cluster.rs:525:27
[INFO] [stdout]     |
[INFO] [stdout] 525 |     fn started(&mut self, ctx: &mut Self::Context) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snapshot`
[INFO] [stdout]    --> trading/src/consensus/state_machine.rs:218:41
[INFO] [stdout]     |
[INFO] [stdout] 218 |     fn restore_from_snapshot(&mut self, snapshot: &[u8]) -> Result<(), String> {
[INFO] [stdout]     |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snapshot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_args` is never used
[INFO] [stdout]   --> trading/tests/cluster_performance_test.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn parse_args() -> TestConfig {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `votes_received`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:305:13
[INFO] [stdout]     |
[INFO] [stdout] 305 |         let votes_received = 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_votes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `votes_needed`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let votes_needed = (self.cluster_nodes.len() + 1) / 2 + 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_votes_needed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:310:17
[INFO] [stdout]     |
[INFO] [stdout] 310 |             let request = RaftRequestMessage::RequestVote {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:369:35
[INFO] [stdout]     |
[INFO] [stdout] 369 |     fn send_heartbeats(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:392:17
[INFO] [stdout]     |
[INFO] [stdout] 392 |             let request = RaftRequestMessage::AppendEntries {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:620:66
[INFO] [stdout]     |
[INFO] [stdout] 620 |     fn replicate_log_to_follower(&mut self, follower_id: String, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:645:13
[INFO] [stdout]     |
[INFO] [stdout] 645 |         let request = RaftRequestMessage::AppendEntries {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:667:43
[INFO] [stdout]     |
[INFO] [stdout] 667 |     fn apply_committed_entries(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:778:51
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn handle(&mut self, msg: RaftRequestMessage, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> trading/src/consensus/raft.rs:808:47
[INFO] [stdout]     |
[INFO] [stdout] 808 |     fn handle(&mut self, msg: ClusterMessage, ctx: &mut Self::Context) -> Self::Result {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_`
[INFO] [stdout]    --> trading/src/persistence/storage.rs:228:15
[INFO] [stdout]     |
[INFO] [stdout] 228 |         for ((type_, _), bytes) in data.iter().filter(|((t, _), _)| *t == storage_type) {
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_type_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node_id` is never read
[INFO] [stdout]   --> trading/tests/api_gateway_test.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct MockTradingClusterManager {
[INFO] [stdout]    |        ------------------------- field in this struct
[INFO] [stdout] 12 |     node_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: method `send_message` is never used
[INFO] [stdout]   --> trading/tests/api_gateway_test.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MockTradingClusterManager {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn send_message(&self, _target_path: &str, _msg: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_actor`
[INFO] [stdout]   --> trading/src/api/adapter/order_actor.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_custom(order_actor: CustomOrderActor, actor_system: Arc<ActorSystem>) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_actor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `account_actor`
[INFO] [stdout]   --> trading/src/api/adapter/account_actor.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn from_custom(account_actor: CustomAccountActor, actor_system: Arc<ActorSystem>) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account_actor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `risk_manager`
[INFO] [stdout]   --> trading/src/api/adapter/risk_actor.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn from_custom(risk_manager: RiskManager, actor_system: Arc<ActorSystem>) -> Self {
[INFO] [stdout]    |                        ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_risk_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr1`
[INFO] [stdout]    --> trading/src/tests/cluster_tests.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let addr1 = order_actor1.start();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_addr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr2`
[INFO] [stdout]    --> trading/src/tests/cluster_tests.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     let addr2 = order_actor2.start();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_addr2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log`, `commit_index`, and `last_applied` are never read
[INFO] [stdout]    --> trading/src/cluster.rs:401:5
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub struct RaftConsensusActor {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 401 |     log: Vec<LogEntry>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 402 |     commit_index: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 403 |     last_applied: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_request_vote` is never used
[INFO] [stdout]    --> trading/src/cluster.rs:481:8
[INFO] [stdout]     |
[INFO] [stdout] 409 | impl RaftConsensusActor {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 481 |     fn handle_request_vote(&mut self, term: u64, candidate_id: String, last_log_index: u64, last_log_term: u64) -> RaftResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `heartbeat_timer` is never read
[INFO] [stdout]    --> trading/src/consensus/raft.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct RaftNodeActor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 184 |     heartbeat_timer: Option<SpawnHandle>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `become_leader`, `send_heartbeats`, and `handle_append_entries_response` are never used
[INFO] [stdout]    --> trading/src/consensus/raft.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl RaftNodeActor {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     fn become_leader(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn send_heartbeats(&mut self, ctx: &mut <Self as Actor>::Context) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 690 |     fn handle_append_entries_response(&mut self, 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `risk_actor` is never read
[INFO] [stdout]   --> trading/src/api/gateway.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ApiGatewayActor {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     risk_actor: Addr<ActixRiskActor>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockOrderActor` is never constructed
[INFO] [stdout]   --> trading/src/tests/api/gateway_tests.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct MockOrderActor;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockActixAccountActor` is never constructed
[INFO] [stdout]   --> trading/src/tests/api/gateway_tests.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct MockActixAccountActor;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockRiskActor` is never constructed
[INFO] [stdout]    --> trading/src/tests/api/gateway_tests.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 | struct MockRiskActor;
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 47s
[INFO] running `Command { std: "docker" "inspect" "3e557f4e3444d224d31701a8a04b7412f0099900d42df7c7f41bdc65f97c72e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e557f4e3444d224d31701a8a04b7412f0099900d42df7c7f41bdc65f97c72e6", kill_on_drop: false }`
[INFO] [stdout] 3e557f4e3444d224d31701a8a04b7412f0099900d42df7c7f41bdc65f97c72e6
