[INFO] cloning repository https://github.com/disrupted-codes/disrupted-data
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/disrupted-codes/disrupted-data" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdisrupted-codes%2Fdisrupted-data", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdisrupted-codes%2Fdisrupted-data'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ef1c451a0f72db27bae2f525f6e406ed87da73cc
[INFO] checking disrupted-codes/disrupted-data against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdisrupted-codes%2Fdisrupted-data" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/disrupted-codes/disrupted-data
[INFO] finished tweaking git repo https://github.com/disrupted-codes/disrupted-data
[INFO] tweaked toml for git repo https://github.com/disrupted-codes/disrupted-data written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/disrupted-codes/disrupted-data on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/disrupted-codes/disrupted-data already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libp2p-stream v0.1.0-alpha.1
[INFO] [stderr]   Downloaded async-std-resolver v0.24.1
[INFO] [stderr]   Downloaded enum-as-inner v0.6.0
[INFO] [stderr]   Downloaded smol v1.3.0
[INFO] [stderr]   Downloaded memory-stats v1.2.0
[INFO] [stderr]   Downloaded libp2p-floodsub v0.45.0
[INFO] [stderr]   Downloaded clap v4.5.13
[INFO] [stderr]   Downloaded rustyline-derive v0.10.0
[INFO] [stderr]   Downloaded libp2p-memory-connection-limits v0.3.0
[INFO] [stderr]   Downloaded quinn v0.11.2
[INFO] [stderr]   Downloaded clap_builder v4.5.13
[INFO] [stderr]   Downloaded rustls-webpki v0.102.5
[INFO] [stderr]   Downloaded async-net v1.8.0
[INFO] [stderr]   Downloaded async-signal v0.2.8
[INFO] [stderr]   Downloaded data-encoding-macro v0.1.15
[INFO] [stderr]   Downloaded multiaddr v0.18.1
[INFO] [stderr]   Downloaded prometheus-client v0.22.2
[INFO] [stderr]   Downloaded async-executor v1.12.0
[INFO] [stderr]   Downloaded asn1_der v0.7.6
[INFO] [stderr]   Downloaded asn1-rs v0.6.1
[INFO] [stderr]   Downloaded libp2p-dcutr v0.12.0
[INFO] [stderr]   Downloaded libp2p-relay v0.18.0
[INFO] [stderr]   Downloaded cbor4ii v0.3.2
[INFO] [stderr]   Downloaded async-io v2.3.3
[INFO] [stderr]   Downloaded hickory-proto v0.24.1
[INFO] [stderr]   Downloaded rustls v0.23.11
[INFO] [stderr]   Downloaded data-encoding-macro-internal v0.1.13
[INFO] [stderr]   Downloaded multihash v0.19.1
[INFO] [stderr]   Downloaded libp2p-pnet v0.25.0
[INFO] [stderr]   Downloaded netlink-sys v0.8.6
[INFO] [stderr]   Downloaded libp2p-rendezvous v0.15.0
[INFO] [stderr]   Downloaded asn1-rs-derive v0.5.0
[INFO] [stderr]   Downloaded oid-registry v0.7.0
[INFO] [stderr]   Downloaded libp2p-uds v0.41.0
[INFO] [stderr]   Downloaded yamux v0.13.3
[INFO] [stderr]   Downloaded hickory-resolver v0.24.1
[INFO] [stderr]   Downloaded rustyline v14.0.0
[INFO] [stderr]   Downloaded quinn-proto v0.11.3
[INFO] [stderr]   Downloaded secp256k1-sys v0.10.0
[INFO] [stderr]   Downloaded secp256k1 v0.29.0
[INFO] [stderr]   Downloaded toml_datetime v0.6.7
[INFO] [stderr]   Downloaded if-watch v3.2.0
[INFO] [stderr]   Downloaded piper v0.2.3
[INFO] [stderr]   Downloaded libp2p-swarm v0.44.2
[INFO] [stderr]   Downloaded cc v1.1.3
[INFO] [stderr]   Downloaded toml_edit v0.22.17
[INFO] [stderr]   Downloaded toml v0.8.16
[INFO] [stderr]   Downloaded polling v3.7.2
[INFO] [stderr]   Downloaded soketto v0.8.0
[INFO] [stderr]   Downloaded libp2p-identity v0.2.9
[INFO] [stderr]   Downloaded libp2p-plaintext v0.42.0
[INFO] [stderr]   Downloaded quinn-udp v0.5.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 477eb0419d9fb9fccc812333bf1449325cc6751991e74ebe158f4cd770eb3e43
[INFO] running `Command { std: "docker" "start" "-a" "477eb0419d9fb9fccc812333bf1449325cc6751991e74ebe158f4cd770eb3e43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "477eb0419d9fb9fccc812333bf1449325cc6751991e74ebe158f4cd770eb3e43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "477eb0419d9fb9fccc812333bf1449325cc6751991e74ebe158f4cd770eb3e43", kill_on_drop: false }`
[INFO] [stdout] 477eb0419d9fb9fccc812333bf1449325cc6751991e74ebe158f4cd770eb3e43
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 081ecbdd7c5795c3792b56f042e1e2e3224cc33a3a5de95855ae0fb84e42f570
[INFO] running `Command { std: "docker" "start" "-a" "081ecbdd7c5795c3792b56f042e1e2e3224cc33a3a5de95855ae0fb84e42f570", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]    Compiling serde v1.0.204
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling cc v1.1.3
[INFO] [stderr]     Checking value-bag v1.9.0
[INFO] [stderr]    Compiling thiserror v1.0.62
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.92
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling syn v2.0.71
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling wasm-bindgen v0.2.92
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking unsigned-varint v0.7.2
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking quick-protobuf v0.8.1
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking send_wrapper v0.4.0
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking base-x v0.2.11
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling libsecp256k1-core v0.3.0
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking asn1_der v0.7.6
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking event-listener v5.3.1
[INFO] [stderr]     Checking mio v1.0.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking unsigned-varint v0.8.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.2
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking futures-lite v2.3.0
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling rustix v0.37.27
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]     Checking waker-fn v1.2.0
[INFO] [stderr]     Checking async-lock v2.8.0
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking piper v0.2.3
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.3.0
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.3.0
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]     Checking event-listener v3.1.0
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]    Compiling libsecp256k1 v0.7.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking async-executor v1.12.0
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]    Compiling rustls v0.23.11
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking rustls-pki-types v1.7.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling httparse v1.9.4
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.13
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]    Compiling oid-registry v0.7.0
[INFO] [stderr]     Checking data-encoding-macro v0.1.15
[INFO] [stderr]     Checking multibase v0.9.1
[INFO] [stderr]     Checking lru v0.12.3
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]    Compiling serde_json v1.0.120
[INFO] [stderr]     Checking match_cfg v0.1.0
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]    Compiling prometheus-client v0.22.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking resolv-conf v0.7.0
[INFO] [stderr]     Checking pem v3.0.4
[INFO] [stderr]     Checking dtoa v1.0.9
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking xml-rs v0.8.20
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]    Compiling secp256k1-sys v0.10.0
[INFO] [stderr]     Checking send_wrapper v0.6.0
[INFO] [stderr]     Checking hex_fmt v0.3.0
[INFO] [stderr]     Checking memory-stats v1.2.0
[INFO] [stderr]     Checking bimap v0.6.3
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking xmltree v0.10.3
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking anstyle-query v1.1.0
[INFO] [stderr]     Checking clap_lex v0.7.1
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking clap_builder v4.5.13
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking cuckoofilter v0.5.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking home v0.5.9
[INFO] [stderr]     Checking uuid v1.10.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking sysinfo v0.30.13
[INFO] [stderr]     Checking rustls-webpki v0.102.5
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.92
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.204
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.62
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling libp2p-swarm-derive v0.35.0
[INFO] [stderr]    Compiling async-trait v0.1.81
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling enum-as-inner v0.6.0
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.4.2
[INFO] [stderr]     Checking rcgen v0.11.3
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]     Checking fd-lock v4.0.2
[INFO] [stderr]    Compiling rustyline-derive v0.10.0
[INFO] [stderr]     Checking secp256k1 v0.29.0
[INFO] [stderr]     Checking der v0.7.9
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking rustyline v14.0.0
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.92
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking netlink-packet-utils v0.5.2
[INFO] [stderr]     Checking asn1-rs v0.6.1
[INFO] [stderr]     Checking polling v3.7.2
[INFO] [stderr]     Checking quinn-udp v0.5.2
[INFO] [stderr]     Checking netlink-packet-core v0.4.2
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking netlink-packet-route v0.12.0
[INFO] [stderr]     Checking async-io v2.3.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking js-sys v0.3.69
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]     Checking async-signal v0.2.8
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking async-process v1.8.1
[INFO] [stderr]     Checking der-parser v9.0.0
[INFO] [stderr]     Checking async-std v1.12.0
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking futures-rustls v0.26.0
[INFO] [stderr]     Checking clap v4.5.13
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking x509-parser v0.16.0
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking rw-stream-sink v0.4.0
[INFO] [stderr]     Checking yamux v0.12.1
[INFO] [stderr]     Checking yamux v0.13.3
[INFO] [stderr]     Checking libp2p-pnet v0.25.0
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking gloo-timers v0.2.6
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.42
[INFO] [stderr]     Checking web-sys v0.3.69
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking futures-bounded v0.2.4
[INFO] [stderr]     Checking futures-ticker v0.0.3
[INFO] [stderr]     Checking bytes v1.7.1
[INFO] [stderr]     Checking multihash v0.19.1
[INFO] [stderr]     Checking cbor4ii v0.3.2
[INFO] [stderr]     Checking toml_datetime v0.6.7
[INFO] [stderr]     Checking serde_spanned v0.6.7
[INFO] [stderr]     Checking toml_edit v0.22.17
[INFO] [stderr]     Checking multistream-select v0.13.0
[INFO] [stderr]     Checking tokio v1.39.2
[INFO] [stderr]     Checking asynchronous-codec v0.7.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking quinn-proto v0.11.3
[INFO] [stderr]     Checking soketto v0.8.0
[INFO] [stderr]     Checking quick-protobuf-codec v0.3.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking attohttpc v0.24.1
[INFO] [stderr]     Checking toml v0.8.16
[INFO] [stderr]     Checking libp2p-identity v0.2.9
[INFO] [stderr]     Checking multiaddr v0.18.1
[INFO] [stderr]     Checking libp2p-core v0.42.0
[INFO] [stderr]     Checking libp2p-core v0.41.3
[INFO] [stderr]     Checking libp2p-swarm v0.44.2
[INFO] [stderr]     Checking netlink-sys v0.8.6
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking hickory-proto v0.24.1
[INFO] [stderr]     Checking quinn v0.11.2
[INFO] [stderr]     Checking libp2p-swarm v0.45.1
[INFO] [stderr]     Checking libp2p-tls v0.5.0
[INFO] [stderr]     Checking libp2p-noise v0.45.0
[INFO] [stderr]     Checking libp2p-websocket v0.44.0
[INFO] [stderr]     Checking libp2p-uds v0.41.0
[INFO] [stderr]     Checking libp2p-plaintext v0.42.0
[INFO] [stderr]     Checking libp2p-yamux v0.46.0
[INFO] [stderr]     Checking libp2p-websocket-websys v0.4.0
[INFO] [stderr]     Checking netlink-proto v0.10.0
[INFO] [stderr]     Checking libp2p-webtransport-websys v0.4.0
[INFO] [stderr]     Checking rtnetlink v0.10.1
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking if-watch v3.2.0
[INFO] [stderr]     Checking libp2p-quic v0.11.1
[INFO] [stderr]     Checking libp2p-tcp v0.42.0
[INFO] [stderr]     Checking libp2p-request-response v0.27.0
[INFO] [stderr]     Checking libp2p-ping v0.45.0
[INFO] [stderr]     Checking libp2p-relay v0.18.0
[INFO] [stderr]     Checking libp2p-identify v0.45.0
[INFO] [stderr]     Checking libp2p-kad v0.46.2
[INFO] [stderr]     Checking libp2p-gossipsub v0.47.0
[INFO] [stderr]     Checking libp2p-dcutr v0.12.0
[INFO] [stderr]     Checking libp2p-floodsub v0.45.0
[INFO] [stderr]     Checking libp2p-connection-limits v0.4.0
[INFO] [stderr]     Checking libp2p-allow-block-list v0.4.0
[INFO] [stderr]     Checking libp2p-memory-connection-limits v0.3.0
[INFO] [stderr]     Checking libp2p-stream v0.1.0-alpha.1
[INFO] [stderr]     Checking libp2p-autonat v0.13.0
[INFO] [stderr]     Checking libp2p-rendezvous v0.15.0
[INFO] [stderr]     Checking hickory-resolver v0.24.1
[INFO] [stderr]     Checking libp2p-mdns v0.46.0
[INFO] [stderr]     Checking async-std-resolver v0.24.1
[INFO] [stderr]     Checking libp2p-metrics v0.15.0
[INFO] [stderr]     Checking libp2p-dns v0.42.0
[INFO] [stderr]     Checking hyper v0.14.30
[INFO] [stderr]     Checking igd-next v0.14.3
[INFO] [stderr]     Checking libp2p-upnp v0.3.0
[INFO] [stderr]     Checking libp2p v0.54.1
[INFO] [stderr]     Checking disrupted-data-sdk-rs v0.0.1-prototype (/opt/rustwide/workdir/disrupted-data-sdk-rs)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> disrupted-data-sdk-rs/src/types/actions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[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: `sha2::digest::Update`
[INFO] [stdout]  --> disrupted-data-sdk-rs/src/types/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::digest::Update;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sha2::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> disrupted-data-sdk-rs/src/types/actions.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[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: `sha2::digest::Update`
[INFO] [stdout]  --> disrupted-data-sdk-rs/src/types/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use sha2::digest::Update;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use sha2::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> disrupted-data-sdk-rs/src/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_id`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/client.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...                   Message::Request { request_id, request, .. } => {
[INFO] [stdout]    |                                          ^^^^^^^^^^ help: try ignoring the field: `request_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/client.rs:76:64
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...                   Message::Request { request_id, request, .. } => {
[INFO] [stdout]    |                                                      ^^^^^^^ help: try ignoring the field: `request: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> disrupted-data-sdk-rs/src/connection.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_id`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/client.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...                   Message::Request { request_id, request, .. } => {
[INFO] [stdout]    |                                          ^^^^^^^^^^ help: try ignoring the field: `request_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/client.rs:76:64
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...                   Message::Request { request_id, request, .. } => {
[INFO] [stdout]    |                                                      ^^^^^^^ help: try ignoring the field: `request: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_parts`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/actions.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let message_parts: Vec<String> = vec![
[INFO] [stdout]    |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_parts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_request`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/actions.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Actions::Get(get_request) => {
[INFO] [stdout]    |                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_parts`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/actions.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 let message_parts: Vec<String> = vec![
[INFO] [stdout]    |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_parts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> disrupted-data-sdk-rs/src/types/actions.rs:149:19
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn to_record(mut self) -> Record {
[INFO] [stdout]     |                      ----^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_request`
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/types/actions.rs:83:17
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Actions::Get(get_request) => {
[INFO] [stdout]    |                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> disrupted-data-sdk-rs/src/types/actions.rs:163:23
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn to_record_key(mut self) -> RecordKey {
[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]    --> disrupted-data-sdk-rs/src/types/actions.rs:149:19
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn to_record(mut self) -> Record {
[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]    --> disrupted-data-sdk-rs/src/types/actions.rs:163:23
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn to_record_key(mut self) -> RecordKey {
[INFO] [stdout]     |                          ----^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/behaviour.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Ping(ping::Event),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Ping(ping::Event),
[INFO] [stdout] 37 +     Ping(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> disrupted-data-sdk-rs/src/behaviour.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Ping(ping::Event),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Ping(ping::Event),
[INFO] [stdout] 37 +     Ping(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking disrupted-data v0.0.1-prototype (/opt/rustwide/workdir)
[INFO] [stderr]     Checking disrupted-data-client-rs v0.0.1-prototype (/opt/rustwide/workdir/disrupted-data-client-rs)
[INFO] [stdout] warning: unused import: `DisruptedDataError`
[INFO] [stdout]  --> disrupted-data-client-rs/src/main.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use disrupted_data_sdk_rs::{Actions, Client, DisruptedDataError};
[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: `DisruptedDataError`
[INFO] [stdout]  --> disrupted-data-client-rs/src/main.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use disrupted_data_sdk_rs::{Actions, Client, DisruptedDataError};
[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: `error`
[INFO] [stdout]   --> disrupted-data-client-rs/src/main.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Err(error) => {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/p2p/mod.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[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: `sha2::Digest`
[INFO] [stdout]  --> src/p2p/protocol/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sha2::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnectionHandler`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use libp2p::swarm::{ConnectionHandler, NetworkBehaviour};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/p2p/mod.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[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: `client::Client`
[INFO] [stdout]  --> src/client/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use client::Client;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]  --> src/p2p/protocol/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sha2::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnectionHandler`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use libp2p::swarm::{ConnectionHandler, NetworkBehaviour};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::Client`
[INFO] [stdout]  --> src/client/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use client::Client;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> disrupted-data-client-rs/src/main.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         Err(error) => {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/p2p/swarm.rs:91:72
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...                   Message::Request{ request_id, request, mut channel } => {
[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]    --> src/p2p/swarm.rs:265:33
[INFO] [stdout]     |
[INFO] [stdout] 265 | ...                   let mut listening_address = filtered_listening_address.remove(0);
[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]   --> src/client/client.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let (mut reader, mut writer) = client_stream.split();
[INFO] [stdout]    |                                  ----^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::Mac`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use sha2::digest::Mac;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/p2p/swarm.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libp2p::futures::{FutureExt, StreamExt};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ping`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let ping = ping::Behaviour::new(Default::default());
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_ping`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn put(&mut self, peer: PeerId, request_id: InboundRequestId, request: Actions) -> Option<Request> {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_request_state`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |             GET(get_request_state, _) => { None }
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_request_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `possible_user_record`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:74:71
[INFO] [stdout]    |
[INFO] [stdout] 74 | ...t: FindResult, possible_user_record: Option<Record>, request: Request) -> Option<Request> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_possible_user_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout] 104 |             PUT(request_state, data) => {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_id`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:106:47
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 if let PutRequestState::WaitingUserCreate(query_id) = &request_state {
[INFO] [stdout]     |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     let send_result = self.request_response.send_response(channel, ActionResult::Success("Data added".to_string()));
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:115:7
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let send_result = self.request_response.send_response(channel, action_result);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:119:31
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub(crate) fn get(&mut self, peer: PeerId, request_id: InboundRequestId, request: Actions) -> Option<Request> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_id`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:134:52
[INFO] [stdout]     |
[INFO] [stdout] 134 | ...uery_progress(&mut self, request_id: InboundRequestId, find_result: FindResult, request: Request) -> GetRequestState {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 GetRequestState::FindData(user) => {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |             GET(get_request_state, data) => {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:143:7
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut record_key_bytes: Vec<u8> = self.user_public_key.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]    --> src/p2p/protocol/disrupted_data/types/request.rs:155:41
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub(crate) fn update_request_with_user(mut self, user: Option<Record>) -> Self {
[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]    --> src/p2p/protocol/disrupted_data/types/request.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub(crate) fn add_data_key_to_user(mut self) -> Self {
[INFO] [stdout]     |                                        ----^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_create_query_id`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:67:45
[INFO] [stdout]    |
[INFO] [stdout] 67 |         if let PutRequestState::WaitingDataCreate(data_create_query_id, find_user_result) = self {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_create_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_id`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:69:23
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 FindResult::Found(query_id, record) => {
[INFO] [stdout]    |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/p2p/swarm.rs:91:72
[INFO] [stdout]    |
[INFO] [stdout] 91 | ...                   Message::Request{ request_id, request, mut channel } => {
[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]    --> src/p2p/swarm.rs:265:33
[INFO] [stdout]     |
[INFO] [stdout] 265 | ...                   let mut listening_address = filtered_listening_address.remove(0);
[INFO] [stdout]     |                           ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parity`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/mod.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (x_only_public_key, parity) = public_key.x_only_public_key();
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/mod.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 |     PublicKey::from_slice(public_key.as_slice()).map_err(|e| { DisruptedDataError { message: "Invalid Key".to_string() } })
[INFO] [stdout]    |                                                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/mod.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |         Err(error) => {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/p2p/swarm.rs:38:95
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new(node_config: NodeConfig, swarm_event_sender: Sender<FromDisruptedDataSwarmEvent>, mut request_event_receiver: Receiver<ToDisr...
[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]   --> src/client/client.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let (mut reader, mut writer) = client_stream.split();
[INFO] [stdout]    |                                  ----^^^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_new_peer`
[INFO] [stdout]   --> src/p2p/swarm.rs:83:103
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         SwarmEvent::Behaviour(behaviour::Event::Kademlia (kad::Event::RoutingUpdated {is_new_peer, ..})) => {
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^ help: try ignoring the field: `is_new_peer: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/p2p/swarm.rs:98:77
[INFO] [stdout]    |
[INFO] [stdout] 98 | ...                   if let PUT(put_request_state, data) = request {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:116:77
[INFO] [stdout]     |
[INFO] [stdout] 116 | ...                   if let GET(get_request_state, data) = request {
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:133:52
[INFO] [stdout]     |
[INFO] [stdout] 133 | ...                   Message::Response{ request_id, response } => {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: try ignoring the field: `request_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/p2p/swarm.rs:133:64
[INFO] [stdout]     |
[INFO] [stdout] 133 | ...                   Message::Response{ request_id, response } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `response: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> src/p2p/swarm.rs:140:114
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...                   QueryResult::GetRecord(Ok(kad::GetRecordOk::FoundRecord(kad::PeerRecord {record, peer}))) => {
[INFO] [stdout]     |                                                                                                        ^^^^ help: try ignoring the field: `peer: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:150:74
[INFO] [stdout]     |
[INFO] [stdout] 150 |                                                 if let Some(PUT(PutRequestState::WaitingDataCreate(query_id, find_result), data)) = &updated_request_state {
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:150:88
[INFO] [stdout]     |
[INFO] [stdout] 150 |                                                 if let Some(PUT(PutRequestState::WaitingDataCreate(query_id, find_result), data)) = &updated_request_state {
[INFO] [stdout]     |                                                                                                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:154:82
[INFO] [stdout]     |
[INFO] [stdout] 154 |                                                 } else if let Some(PUT(PutRequestState::SendResponse(action_result), data)) = &updated_request_state {
[INFO] [stdout]     |                                                                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:155:18
[INFO] [stdout]     |
[INFO] [stdout] 155 |                                                     let send_result = self.swarm.behaviour_mut().request_response.send_response(channel, action_result.clone());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/p2p/swarm.rs:164:47
[INFO] [stdout]     |
[INFO] [stdout] 164 |                                                     if let GetRequestState::FindData(user) = &updated_request_state {
[INFO] [stdout]     |                                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:168:84
[INFO] [stdout]     |
[INFO] [stdout] 168 |                                                         if let Some(GET(GetRequestState::WaitingData(waiting_data_query_id), data)) = &possible_waiting_data_request {
[INFO] [stdout]     |                                                                                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 175 |                                                         let send_result = self.swarm.behaviour_mut().request_response.send_response(channel, action_result.clone());
[INFO] [stdout]     |                                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:178:56
[INFO] [stdout]     |
[INFO] [stdout] 178 |                                                 } else if let GetRequestState::WaitingData(query_id) = &get_request_state {
[INFO] [stdout]     |                                                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |                                                     let send_result = self.swarm.behaviour_mut().request_response.send_response(channel, action_result.clone());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/p2p/swarm.rs:192:91
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...                   QueryResult::GetRecord(Err(kad::GetRecordError::NotFound {key, ..})) => {
[INFO] [stdout]     |                                                                                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:206:80
[INFO] [stdout]     |
[INFO] [stdout] 206 |                                                         if let PUT(PutRequestState::WaitingDataCreate(data_put_query_id, find_result), data) = request {
[INFO] [stdout]     |                                                                                                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:206:94
[INFO] [stdout]     |
[INFO] [stdout] 206 |                                                         if let PUT(PutRequestState::WaitingDataCreate(data_put_query_id, find_result), data) = request {
[INFO] [stdout]     |                                                                                                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/p2p/swarm.rs:224:76
[INFO] [stdout]     |
[INFO] [stdout] 224 | ...                   QueryResult::PutRecord(Ok(kad::PutRecordOk{key})) => {
[INFO] [stdout]     |                                                                  ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:233:34
[INFO] [stdout]     |
[INFO] [stdout] 233 |                                             PUT(put_request_state,data) => {
[INFO] [stdout]     |                                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_put_query_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:234:55
[INFO] [stdout]     |
[INFO] [stdout] 234 |                                                 if let PutRequestState::WaitingDataCreate(data_put_query_id, find_result) = put_request_state {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_put_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:234:74
[INFO] [stdout]     |
[INFO] [stdout] 234 |                                                 if let PutRequestState::WaitingDataCreate(data_put_query_id, find_result) = put_request_state {
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:239:82
[INFO] [stdout]     |
[INFO] [stdout] 239 |                                                             if let PUT(PutRequestState::WaitingUserCreate(user_put_query_id), data) = request {
[INFO] [stdout]     |                                                                                                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_put_query_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:247:61
[INFO] [stdout]     |
[INFO] [stdout] 247 |                                                 }else if let PutRequestState::WaitingUserCreate(user_put_query_id) = put_request_state {
[INFO] [stdout]     |                                                                                                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_put_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/types/config.rs:32:52
[INFO] [stdout]    |
[INFO] [stdout] 32 |             env::var("IP_ADDRESS").unwrap_or_else(|e| { "127.0.0.1".to_string() })
[INFO] [stdout]    |                                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/types/config.rs:40:46
[INFO] [stdout]    |
[INFO] [stdout] 40 |             env::var("PORT").unwrap_or_else(|e| { "6969".to_string() })
[INFO] [stdout]    |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/types/config.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 Err(err) => {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/types/config.rs:73:50
[INFO] [stdout]    |
[INFO] [stdout] 73 |             env::var("LOG_FILE").unwrap_or_else(|e| { "C:\\Nostr\\disrupted-data\\disrupted-data.log".to_string() })
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/client/client.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let (mut reader, mut writer) = client_stream.split();
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_address`
[INFO] [stdout]   --> src/client/client.rs:17:37
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (mut client_stream, socket_address) = bound_client_listener.accept().await.expect("Error reading client stream");
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (from_swarm_sender, mut from_swarm_receiver) = mpsc::channel::<FromDisruptedDataSwarmEvent>(50);
[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]   --> src/main.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (to_swarm_sender, mut to_swarm_receiver) = mpsc::channel::<ToDisruptedDataSwarmEvent>(50);
[INFO] [stdout]    |                           ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_swarm_receiver`
[INFO] [stdout]   --> src/main.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (from_swarm_sender, mut from_swarm_receiver) = mpsc::channel::<FromDisruptedDataSwarmEvent>(50);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_swarm_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_swarm_sender`
[INFO] [stdout]   --> src/main.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (to_swarm_sender, mut to_swarm_receiver) = mpsc::channel::<ToDisruptedDataSwarmEvent>(50);
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_swarm_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/p2p/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum FromDisruptedDataSwarmEvent {
[INFO] [stdout]    |          --------------------------- variants in this enum
[INFO] [stdout] 14 |     NewRequest(InboundRequestId, Actions),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     NewGetRequest(InboundRequestId, Actions),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     UserFound(InboundRequestId, User),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     UserNotFound(InboundRequestId, User),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     PutUserSuccess,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     PutUserFail(String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 20 |     PutDataSuccess(InboundRequestId),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     PutDataFail(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FromDisruptedDataSwarmEvent` 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: variants `PutUser`, `Put`, `GetUser`, `Get`, and `SendResponse` are never constructed
[INFO] [stdout]   --> src/p2p/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum ToDisruptedDataSwarmEvent {
[INFO] [stdout]    |          ------------------------- variants in this enum
[INFO] [stdout] 26 |     PutUser(InboundRequestId, Record),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     Put(InboundRequestId, (User, Record)),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     GetUser(InboundRequestId, RecordKey),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 29 |     Get(InboundRequestId, RecordKey),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 30 |     SendResponse(InboundRequestId, ActionResult),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToDisruptedDataSwarmEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_file`, `clients`, and `get_requests` are never read
[INFO] [stdout]   --> src/p2p/node.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub log_file: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     clients: Arc<Mutex<HashMap<Uuid, oneshot::Sender<Vec<u8>>>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 21 |     get_requests: Arc<Mutex<HashMap<String, Uuid>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EventHandlerOutcome` is never used
[INFO] [stdout]  --> src/p2p/protocol/mod.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub(crate) enum EventHandlerOutcome {
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RequestResponseBehaviour` is never used
[INFO] [stdout]   --> src/p2p/protocol/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) type RequestResponseBehaviour = json::Behaviour<Actions, ActionResult>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VerificationResult` is never constructed
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:189:2
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub enum Event {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 189 |     VerificationResult(),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GetInboundRequestState` is never used
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/request.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) enum GetInboundRequestState {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PutResult` is never used
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) enum PutResult {
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     Failed(DisruptedDataError),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VerifyRequestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 118 -     Failed(DisruptedDataError),
[INFO] [stdout] 118 +     Failed(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `inbound_request_id` and `user` are never read
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:125:2
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) struct RequestData {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 124 |     // peer_id: PeerId,
[INFO] [stdout] 125 |     inbound_request_id: InboundRequestId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     user: Option<Record>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RequestData` 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 `update_request_with_user` and `add_data_key_to_user` are never used
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl RequestData {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub(crate) fn update_request_with_user(mut self, user: Option<Record>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub(crate) fn add_data_key_to_user(mut self) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RequestState` is never used
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) trait RequestState {}
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CreateUserRecord` and `WaitingPut` are never constructed
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) enum PutRequestState {
[INFO] [stdout]    |                 --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     CreateUserRecord(FindResult),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     WaitingPut(HashSet<QueryId>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PutRequestState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_waiting_put_request_list` is never used
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:99:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl PutRequestState {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub(crate) fn update_waiting_put_request_list(&self, completed_query_id: QueryId) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UserNotFound` is never constructed
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/state.rs:124:2
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub(crate) enum GetRequestState {
[INFO] [stdout]     |                 --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 124 |     UserNotFound,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetRequestState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `swarm_event_sender` and `request_event_receiver` are never read
[INFO] [stdout]   --> src/p2p/swarm.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct DisruptedDataSwarm {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     swarm_event_sender: Sender<FromDisruptedDataSwarmEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     request_event_receiver: Receiver<ToDisruptedDataSwarmEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file` is never used
[INFO] [stdout]    --> src/p2p/swarm.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn read_file(path: PathBuf) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Client` is never constructed
[INFO] [stdout]  --> src/client/client.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Client {}
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `start` are never used
[INFO] [stdout]   --> src/client/client.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Client {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub async fn start(&self) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::Mac`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use sha2::digest::Mac;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/p2p/swarm.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libp2p::futures::{FutureExt, StreamExt};
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ping`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let ping = ping::Behaviour::new(Default::default());
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_ping`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub(crate) fn put(&mut self, peer: PeerId, request_id: InboundRequestId, request: Actions) -> Option<Request> {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `get_request_state`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 |             GET(get_request_state, _) => { None }
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_request_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `possible_user_record`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/behaviour.rs:74:71
[INFO] [stdout]    |
[INFO] [stdout] 74 | ...t: FindResult, possible_user_record: Option<Record>, request: Request) -> Option<Request> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_possible_user_record`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:104:23
[INFO] [stdout]     |
[INFO] [stdout] 104 |             PUT(request_state, data) => {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_id`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:106:47
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 if let PutRequestState::WaitingUserCreate(query_id) = &request_state {
[INFO] [stdout]     |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     let send_result = self.request_response.send_response(channel, ActionResult::Success("Data added".to_string()));
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:115:7
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let send_result = self.request_response.send_response(channel, action_result);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:119:31
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub(crate) fn get(&mut self, peer: PeerId, request_id: InboundRequestId, request: Actions) -> Option<Request> {
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_peer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_id`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:134:52
[INFO] [stdout]     |
[INFO] [stdout] 134 | ...uery_progress(&mut self, request_id: InboundRequestId, find_result: FindResult, request: Request) -> GetRequestState {
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:158:31
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 GetRequestState::FindData(user) => {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |             GET(get_request_state, data) => {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:143:7
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut record_key_bytes: Vec<u8> = self.user_public_key.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]    --> src/p2p/protocol/disrupted_data/types/request.rs:155:41
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub(crate) fn update_request_with_user(mut self, user: Option<Record>) -> Self {
[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]    --> src/p2p/protocol/disrupted_data/types/request.rs:196:37
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub(crate) fn add_data_key_to_user(mut self) -> Self {
[INFO] [stdout]     |                                        ----^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_create_query_id`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:67:45
[INFO] [stdout]    |
[INFO] [stdout] 67 |         if let PutRequestState::WaitingDataCreate(data_create_query_id, find_user_result) = self {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_create_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_id`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:69:23
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 FindResult::Found(query_id, record) => {
[INFO] [stdout]    |                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parity`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/mod.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let (x_only_public_key, parity) = public_key.x_only_public_key();
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/mod.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 |     PublicKey::from_slice(public_key.as_slice()).map_err(|e| { DisruptedDataError { message: "Invalid Key".to_string() } })
[INFO] [stdout]    |                                                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/mod.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 |         Err(error) => {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/p2p/swarm.rs:38:95
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn new(node_config: NodeConfig, swarm_event_sender: Sender<FromDisruptedDataSwarmEvent>, mut request_event_receiver: Receiver<ToDisr...
[INFO] [stdout]    |                                                                                                  ----^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                                                                  |
[INFO] [stdout]    |                                                                                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_new_peer`
[INFO] [stdout]   --> src/p2p/swarm.rs:83:103
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         SwarmEvent::Behaviour(behaviour::Event::Kademlia (kad::Event::RoutingUpdated {is_new_peer, ..})) => {
[INFO] [stdout]    |                                                                                                       ^^^^^^^^^^^ help: try ignoring the field: `is_new_peer: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/p2p/swarm.rs:98:77
[INFO] [stdout]    |
[INFO] [stdout] 98 | ...                   if let PUT(put_request_state, data) = request {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:116:77
[INFO] [stdout]     |
[INFO] [stdout] 116 | ...                   if let GET(get_request_state, data) = request {
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:133:52
[INFO] [stdout]     |
[INFO] [stdout] 133 | ...                   Message::Response{ request_id, response } => {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: try ignoring the field: `request_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> src/p2p/swarm.rs:133:64
[INFO] [stdout]     |
[INFO] [stdout] 133 | ...                   Message::Response{ request_id, response } => {
[INFO] [stdout]     |                                                      ^^^^^^^^ help: try ignoring the field: `response: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peer`
[INFO] [stdout]    --> src/p2p/swarm.rs:140:114
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...                   QueryResult::GetRecord(Ok(kad::GetRecordOk::FoundRecord(kad::PeerRecord {record, peer}))) => {
[INFO] [stdout]     |                                                                                                        ^^^^ help: try ignoring the field: `peer: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:150:74
[INFO] [stdout]     |
[INFO] [stdout] 150 |                                                 if let Some(PUT(PutRequestState::WaitingDataCreate(query_id, find_result), data)) = &updated_request_state {
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:150:88
[INFO] [stdout]     |
[INFO] [stdout] 150 |                                                 if let Some(PUT(PutRequestState::WaitingDataCreate(query_id, find_result), data)) = &updated_request_state {
[INFO] [stdout]     |                                                                                                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:154:82
[INFO] [stdout]     |
[INFO] [stdout] 154 |                                                 } else if let Some(PUT(PutRequestState::SendResponse(action_result), data)) = &updated_request_state {
[INFO] [stdout]     |                                                                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:155:18
[INFO] [stdout]     |
[INFO] [stdout] 155 |                                                     let send_result = self.swarm.behaviour_mut().request_response.send_response(channel, action_result.clone());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]    --> src/p2p/swarm.rs:164:47
[INFO] [stdout]     |
[INFO] [stdout] 164 |                                                     if let GetRequestState::FindData(user) = &updated_request_state {
[INFO] [stdout]     |                                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:168:84
[INFO] [stdout]     |
[INFO] [stdout] 168 |                                                         if let Some(GET(GetRequestState::WaitingData(waiting_data_query_id), data)) = &possible_waiting_data_request {
[INFO] [stdout]     |                                                                                                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 175 |                                                         let send_result = self.swarm.behaviour_mut().request_response.send_response(channel, action_result.clone());
[INFO] [stdout]     |                                                             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `query_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:178:56
[INFO] [stdout]     |
[INFO] [stdout] 178 |                                                 } else if let GetRequestState::WaitingData(query_id) = &get_request_state {
[INFO] [stdout]     |                                                                                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |                                                     let send_result = self.swarm.behaviour_mut().request_response.send_response(channel, action_result.clone());
[INFO] [stdout]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/p2p/swarm.rs:192:91
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...                   QueryResult::GetRecord(Err(kad::GetRecordError::NotFound {key, ..})) => {
[INFO] [stdout]     |                                                                                 ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:206:80
[INFO] [stdout]     |
[INFO] [stdout] 206 |                                                         if let PUT(PutRequestState::WaitingDataCreate(data_put_query_id, find_result), data) = request {
[INFO] [stdout]     |                                                                                                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:206:94
[INFO] [stdout]     |
[INFO] [stdout] 206 |                                                         if let PUT(PutRequestState::WaitingDataCreate(data_put_query_id, find_result), data) = request {
[INFO] [stdout]     |                                                                                                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/p2p/swarm.rs:224:76
[INFO] [stdout]     |
[INFO] [stdout] 224 | ...                   QueryResult::PutRecord(Ok(kad::PutRecordOk{key})) => {
[INFO] [stdout]     |                                                                  ^^^ help: try ignoring the field: `key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:233:34
[INFO] [stdout]     |
[INFO] [stdout] 233 |                                             PUT(put_request_state,data) => {
[INFO] [stdout]     |                                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_put_query_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:234:55
[INFO] [stdout]     |
[INFO] [stdout] 234 |                                                 if let PutRequestState::WaitingDataCreate(data_put_query_id, find_result) = put_request_state {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_put_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_result`
[INFO] [stdout]    --> src/p2p/swarm.rs:234:74
[INFO] [stdout]     |
[INFO] [stdout] 234 |                                                 if let PutRequestState::WaitingDataCreate(data_put_query_id, find_result) = put_request_state {
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/p2p/swarm.rs:239:82
[INFO] [stdout]     |
[INFO] [stdout] 239 |                                                             if let PUT(PutRequestState::WaitingUserCreate(user_put_query_id), data) = request {
[INFO] [stdout]     |                                                                                                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_put_query_id`
[INFO] [stdout]    --> src/p2p/swarm.rs:247:61
[INFO] [stdout]     |
[INFO] [stdout] 247 |                                                 }else if let PutRequestState::WaitingUserCreate(user_put_query_id) = put_request_state {
[INFO] [stdout]     |                                                                                                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_put_query_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/types/config.rs:32:52
[INFO] [stdout]    |
[INFO] [stdout] 32 |             env::var("IP_ADDRESS").unwrap_or_else(|e| { "127.0.0.1".to_string() })
[INFO] [stdout]    |                                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/types/config.rs:40:46
[INFO] [stdout]    |
[INFO] [stdout] 40 |             env::var("PORT").unwrap_or_else(|e| { "6969".to_string() })
[INFO] [stdout]    |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/types/config.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 Err(err) => {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/types/config.rs:73:50
[INFO] [stdout]    |
[INFO] [stdout] 73 |             env::var("LOG_FILE").unwrap_or_else(|e| { "C:\\Nostr\\disrupted-data\\disrupted-data.log".to_string() })
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/client/client.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 let (mut reader, mut writer) = client_stream.split();
[INFO] [stdout]    |                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `socket_address`
[INFO] [stdout]   --> src/client/client.rs:17:37
[INFO] [stdout]    |
[INFO] [stdout] 17 |             let (mut client_stream, socket_address) = bound_client_listener.accept().await.expect("Error reading client stream");
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_socket_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (from_swarm_sender, mut from_swarm_receiver) = mpsc::channel::<FromDisruptedDataSwarmEvent>(50);
[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]   --> src/main.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (to_swarm_sender, mut to_swarm_receiver) = mpsc::channel::<ToDisruptedDataSwarmEvent>(50);
[INFO] [stdout]    |                           ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_swarm_receiver`
[INFO] [stdout]   --> src/main.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let (from_swarm_sender, mut from_swarm_receiver) = mpsc::channel::<FromDisruptedDataSwarmEvent>(50);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_swarm_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to_swarm_sender`
[INFO] [stdout]   --> src/main.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (to_swarm_sender, mut to_swarm_receiver) = mpsc::channel::<ToDisruptedDataSwarmEvent>(50);
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_to_swarm_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/p2p/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum FromDisruptedDataSwarmEvent {
[INFO] [stdout]    |          --------------------------- variants in this enum
[INFO] [stdout] 14 |     NewRequest(InboundRequestId, Actions),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     NewGetRequest(InboundRequestId, Actions),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     UserFound(InboundRequestId, User),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     UserNotFound(InboundRequestId, User),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     PutUserSuccess,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     PutUserFail(String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 20 |     PutDataSuccess(InboundRequestId),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     PutDataFail(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FromDisruptedDataSwarmEvent` 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: variants `PutUser`, `Put`, `GetUser`, `Get`, and `SendResponse` are never constructed
[INFO] [stdout]   --> src/p2p/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum ToDisruptedDataSwarmEvent {
[INFO] [stdout]    |          ------------------------- variants in this enum
[INFO] [stdout] 26 |     PutUser(InboundRequestId, Record),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     Put(InboundRequestId, (User, Record)),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     GetUser(InboundRequestId, RecordKey),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 29 |     Get(InboundRequestId, RecordKey),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 30 |     SendResponse(InboundRequestId, ActionResult),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToDisruptedDataSwarmEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `log_file`, `clients`, and `get_requests` are never read
[INFO] [stdout]   --> src/p2p/node.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Node {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub log_file: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     clients: Arc<Mutex<HashMap<Uuid, oneshot::Sender<Vec<u8>>>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 21 |     get_requests: Arc<Mutex<HashMap<String, Uuid>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Node` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EventHandlerOutcome` is never used
[INFO] [stdout]  --> src/p2p/protocol/mod.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub(crate) enum EventHandlerOutcome {
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RequestResponseBehaviour` is never used
[INFO] [stdout]   --> src/p2p/protocol/mod.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) type RequestResponseBehaviour = json::Behaviour<Actions, ActionResult>;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VerificationResult` is never constructed
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/behaviour.rs:189:2
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub enum Event {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 189 |     VerificationResult(),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GetInboundRequestState` is never used
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/request.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) enum GetInboundRequestState {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PutResult` is never used
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub(crate) enum PutResult {
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     Failed(DisruptedDataError),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VerifyRequestResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 118 -     Failed(DisruptedDataError),
[INFO] [stdout] 118 +     Failed(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `inbound_request_id` and `user` are never read
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:125:2
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) struct RequestData {
[INFO] [stdout]     |                   ----------- fields in this struct
[INFO] [stdout] 124 |     // peer_id: PeerId,
[INFO] [stdout] 125 |     inbound_request_id: InboundRequestId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     user: Option<Record>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RequestData` 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 `update_request_with_user` and `add_data_key_to_user` are never used
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/request.rs:155:16
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl RequestData {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub(crate) fn update_request_with_user(mut self, user: Option<Record>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub(crate) fn add_data_key_to_user(mut self) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RequestState` is never used
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) trait RequestState {}
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CreateUserRecord` and `WaitingPut` are never constructed
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:17:2
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) enum PutRequestState {
[INFO] [stdout]    |                 --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     CreateUserRecord(FindResult),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     WaitingPut(HashSet<QueryId>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PutRequestState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_waiting_put_request_list` is never used
[INFO] [stdout]   --> src/p2p/protocol/disrupted_data/types/state.rs:99:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl PutRequestState {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub(crate) fn update_waiting_put_request_list(&self, completed_query_id: QueryId) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UserNotFound` is never constructed
[INFO] [stdout]    --> src/p2p/protocol/disrupted_data/types/state.rs:124:2
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub(crate) enum GetRequestState {
[INFO] [stdout]     |                 --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 124 |     UserNotFound,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetRequestState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `swarm_event_sender` and `request_event_receiver` are never read
[INFO] [stdout]   --> src/p2p/swarm.rs:30:2
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct DisruptedDataSwarm {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     swarm_event_sender: Sender<FromDisruptedDataSwarmEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     request_event_receiver: Receiver<ToDisruptedDataSwarmEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_file` is never used
[INFO] [stdout]    --> src/p2p/swarm.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn read_file(path: PathBuf) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Client` is never constructed
[INFO] [stdout]  --> src/client/client.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Client {}
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `start` are never used
[INFO] [stdout]   --> src/client/client.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Client {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub async fn start(&self) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "081ecbdd7c5795c3792b56f042e1e2e3224cc33a3a5de95855ae0fb84e42f570", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "081ecbdd7c5795c3792b56f042e1e2e3224cc33a3a5de95855ae0fb84e42f570", kill_on_drop: false }`
[INFO] [stdout] 081ecbdd7c5795c3792b56f042e1e2e3224cc33a3a5de95855ae0fb84e42f570
