[INFO] cloning repository https://github.com/Dhayson/six-degrees-bot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Dhayson/six-degrees-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDhayson%2Fsix-degrees-bot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDhayson%2Fsix-degrees-bot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 96f810355aa802b6df7a51f2d5c5cdd3d4aba468
[INFO] checking Dhayson/six-degrees-bot against master#f5e2df741b4a9820a7579f0c8eccc951706a8782 for pr-147984
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDhayson%2Fsix-degrees-bot" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Dhayson/six-degrees-bot
[INFO] finished tweaking git repo https://github.com/Dhayson/six-degrees-bot
[INFO] tweaked toml for git repo https://github.com/Dhayson/six-degrees-bot written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Dhayson/six-degrees-bot on toolchain f5e2df741b4a9820a7579f0c8eccc951706a8782
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f5e2df741b4a9820a7579f0c8eccc951706a8782" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Dhayson/six-degrees-bot 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" "+f5e2df741b4a9820a7579f0c8eccc951706a8782" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nostr-database v0.34.0
[INFO] [stderr]   Downloaded atomic-destructor v0.2.0
[INFO] [stderr]   Downloaded async-utility v0.2.0
[INFO] [stderr]   Downloaded nostr-zapper v0.34.0
[INFO] [stderr]   Downloaded nostr-relay-pool v0.34.1
[INFO] [stderr]   Downloaded nostr-ndb v0.34.0
[INFO] [stderr]   Downloaded nwc v0.34.1
[INFO] [stderr]   Downloaded async-wsocket v0.7.1
[INFO] [stderr]   Downloaded nostr-sdk v0.34.0
[INFO] [stderr]   Downloaded webpki-roots v0.26.5
[INFO] [stderr]   Downloaded nostr v0.34.1
[INFO] [stderr]   Downloaded nostr-signer v0.34.0
[INFO] [stderr]   Downloaded flatbuffers v23.5.26
[INFO] [stderr]   Downloaded negentropy v0.3.1
[INFO] [stderr]   Downloaded nostrdb v0.3.4
[INFO] [stderr]   Downloaded lnurl-pay v0.5.0
[INFO] [stderr]   Downloaded prettyplease v0.2.17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+f5e2df741b4a9820a7579f0c8eccc951706a8782" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ebf44045ac4d25f10be93081aabb2a42dddf0513b03ef0d362456e025bb79c83
[INFO] running `Command { std: "docker" "start" "-a" "ebf44045ac4d25f10be93081aabb2a42dddf0513b03ef0d362456e025bb79c83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebf44045ac4d25f10be93081aabb2a42dddf0513b03ef0d362456e025bb79c83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebf44045ac4d25f10be93081aabb2a42dddf0513b03ef0d362456e025bb79c83", kill_on_drop: false }`
[INFO] [stdout] ebf44045ac4d25f10be93081aabb2a42dddf0513b03ef0d362456e025bb79c83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+f5e2df741b4a9820a7579f0c8eccc951706a8782" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7fed957356fcde8d64f9f34f1a3e6c8ef97ff19a96a0889651ff5aa620ac24e3
[INFO] running `Command { std: "docker" "start" "-a" "7fed957356fcde8d64f9f34f1a3e6c8ef97ff19a96a0889651ff5aa620ac24e3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling cc v1.1.18
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking rustls-pki-types v1.8.0
[INFO] [stderr]     Checking cpufeatures v0.2.14
[INFO] [stderr]    Compiling rustls v0.23.12
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]     Checking webpki-roots v0.26.5
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]    Compiling bitcoin-internals v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]     Checking hex-conservative v0.1.2
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]     Checking rustls-pemfile v2.1.3
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking bech32 v0.10.0-beta
[INFO] [stderr]    Compiling bitcoin v0.31.2
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling clang-sys v1.7.0
[INFO] [stderr]    Compiling prettyplease v0.2.17
[INFO] [stderr]     Checking bitcoin_hashes v0.11.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling secp256k1-sys v0.9.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking scrypt v0.11.0
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]     Checking negentropy v0.3.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling libloading v0.8.3
[INFO] [stderr]    Compiling bindgen v0.69.4
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]     Checking rustls-webpki v0.102.7
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking tokio v1.40.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling async-trait v0.1.82
[INFO] [stderr]    Compiling regex v1.11.0
[INFO] [stderr]     Checking indexmap v2.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking lru v0.12.4
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling flatbuffers v23.5.26
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking atomic-destructor v0.2.0
[INFO] [stderr]     Checking anstyle-parse v0.2.5
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking anstyle-query v1.1.1
[INFO] [stderr]     Checking colorchoice v1.0.2
[INFO] [stderr]     Checking winnow v0.6.20
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking clap_builder v4.5.20
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking tungstenite v0.23.0
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking tokio-rustls v0.26.0
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tokio-socks v0.5.2
[INFO] [stderr]     Checking tokio-tungstenite v0.23.1
[INFO] [stderr]     Checking async-utility v0.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.16
[INFO] [stderr]     Checking clap v4.5.20
[INFO] [stderr]     Checking hyper-util v0.1.7
[INFO] [stderr]     Checking hyper-rustls v0.27.3
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bip39 v2.0.0
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking bitcoin_hashes v0.13.0
[INFO] [stderr]     Checking toml_edit v0.22.22
[INFO] [stderr]    Compiling nostrdb v0.3.4
[INFO] [stderr]     Checking reqwest v0.12.7
[INFO] [stderr]     Checking async-wsocket v0.7.1
[INFO] [stderr]     Checking secp256k1 v0.28.2
[INFO] [stderr]     Checking lnurl-pay v0.5.0
[INFO] [stderr]     Checking toml v0.8.19
[INFO] [stderr]     Checking nostr v0.34.1
[INFO] [stderr]     Checking nostr-database v0.34.0
[INFO] [stderr]     Checking nostr-zapper v0.34.0
[INFO] [stderr]     Checking nostr-relay-pool v0.34.1
[INFO] [stderr]     Checking nostr-signer v0.34.0
[INFO] [stderr]     Checking nwc v0.34.1
[INFO] [stderr]     Checking nostr-ndb v0.34.0
[INFO] [stderr]     Checking nostr-sdk v0.34.0
[INFO] [stderr]     Checking six-degrees-bot v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `clap::ArgGroup`
[INFO] [stdout]  --> src/listen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::ArgGroup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/listen.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/listen.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::join`
[INFO] [stdout]   --> src/listen.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::join;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::Network`
[INFO] [stdout]   --> src/listen.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::network::Network;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/listen.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/sep_degrees.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]  --> src/sep_degrees.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::client_utils::{self, *};
[INFO] [stdout]   |                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clap::ArgGroup`
[INFO] [stdout]  --> src/listen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use clap::ArgGroup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/listen.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]   --> src/listen.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::Path;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::join`
[INFO] [stdout]   --> src/listen.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::join;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::network::Network`
[INFO] [stdout]   --> src/listen.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::network::Network;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/listen.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/sep_degrees.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]  --> src/sep_degrees.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::client_utils::{self, *};
[INFO] [stdout]   |                                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/listen.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 let mut ret = action(mention.clone(), action_args).await;
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/listen.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 let mut ret = action(mention.clone(), action_args).await;
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sep_degrees.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut follows = match client_utils::get_following_multiple_users_with_timestamp_and_timeout(
[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/sep_degrees.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 255 |             let mut net_lock = network.lock().await;
[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/sep_degrees.rs:304:17
[INFO] [stdout]     |
[INFO] [stdout] 304 |             let mut net_lock = network.lock().await;
[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/sep_degrees.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut follows = match client_utils::get_following_multiple_users_with_timestamp_and_timeout(
[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/sep_degrees.rs:255:17
[INFO] [stdout]     |
[INFO] [stdout] 255 |             let mut net_lock = network.lock().await;
[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/sep_degrees.rs:304:17
[INFO] [stdout]     |
[INFO] [stdout] 304 |             let mut net_lock = network.lock().await;
[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_utils.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut to_return = vec![event_ref, author_ref];
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/client_utils.rs:232:21
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 Err(err) => (), //eprintln!("Public key {pubkey} parse error: {err}"),
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/client_utils.rs:328:24
[INFO] [stdout]     |
[INFO] [stdout] 328 |             Some(Some((m, t))) => {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_user`
[INFO] [stdout]   --> src/network/base.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (node_user, added) = self.add_user(user);
[INFO] [stdout]    |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/network/base.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         timestamp: &Timestamp,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_user`
[INFO] [stdout]    --> src/network/base.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (node_user, added) = self.add_user(user);
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/client_utils.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let mut to_return = vec![event_ref, author_ref];
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/client_utils.rs:232:21
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 Err(err) => (), //eprintln!("Public key {pubkey} parse error: {err}"),
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/client_utils.rs:328:24
[INFO] [stdout]     |
[INFO] [stdout] 328 |             Some(Some((m, t))) => {
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_user`
[INFO] [stdout]   --> src/network/base.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (node_user, added) = self.add_user(user);
[INFO] [stdout]    |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]    --> src/network/base.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         timestamp: &Timestamp,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_user`
[INFO] [stdout]    --> src/network/base.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (node_user, added) = self.add_user(user);
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_clone`
[INFO] [stdout]    --> src/main.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let client_clone = client.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_text` is never used
[INFO] [stdout]    --> src/client_utils.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub async fn send_text(my_keys: &Keys, client: &Client, content: &str) -> Result<(), Error> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_text_dummy` is never used
[INFO] [stdout]    --> src/client_utils.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub async fn send_text_dummy(my_keys: &Keys, client: &Client, content: &str) -> Result<(), Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_following_user_with_timestamp_and_timeout` is never used
[INFO] [stdout]    --> src/client_utils.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub async fn get_following_user_with_timestamp_and_timeout(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_following_user_with_timeout` is never used
[INFO] [stdout]    --> src/client_utils.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub async fn get_following_user_with_timeout(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_following_user` is never used
[INFO] [stdout]    --> src/client_utils.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub async fn get_following_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_followers_user` is never used
[INFO] [stdout]    --> src/client_utils.rs:261:14
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub async fn get_followers_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mutuals_user` is never used
[INFO] [stdout]    --> src/client_utils.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub async fn get_mutuals_user(pubkey: PublicKey, client: &Client) -> Result<Vec<PublicKey>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_metadata_users_fake` is never used
[INFO] [stdout]    --> src/client_utils.rs:299:14
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub async fn get_metadata_users_fake(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `collect_map` is never used
[INFO] [stdout]   --> src/map_intersect.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | / impl<'a, T, S, K> IntersectionMap<'a, T, S, K>
[INFO] [stdout] 73 | | where
[INFO] [stdout] 74 | |     T: Eq + Hash,
[INFO] [stdout] 75 | |     K: BuildHasher,
[INFO] [stdout]    | |___________________- method in this implementation
[INFO] [stdout] 76 |   {
[INFO] [stdout] 77 |       pub fn collect_map(self) -> HashMap<&'a T, (&'a S, &'a S)> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `user_follow_last_update` and `add_user_no_metadata` are never used
[INFO] [stdout]    --> src/network/base.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl Network {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn user_follow_last_update(&self, user: &PublicKey) -> Option<Timestamp> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn add_user_no_metadata(&mut self, user: PublicKey) -> Option<(Metadata, Timestamp)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InternalGraphError` is never constructed
[INFO] [stdout]   --> src/network/follow.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum RecommendationError {
[INFO] [stdout]    |          ------------------- variant in this enum
[INFO] [stdout] 85 |     NotEnoughLevels,
[INFO] [stdout] 86 |     InternalGraphError(i32),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecommendationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_level_mutual` is never used
[INFO] [stdout]    --> src/network/follow.rs:242:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl FollowNetwork {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub async fn add_level_mutual(&mut self) -> Result<&mut Self> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/user.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GetMetadataClientError(Error),
[INFO] [stdout]    |     ---------------------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CreateUserError` has a derived impl for the trait `Debug`, but this is 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] 14 -     GetMetadataClientError(Error),
[INFO] [stdout] 14 +     GetMetadataClientError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_clone`
[INFO] [stdout]    --> src/main.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let client_clone = client.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_text` is never used
[INFO] [stdout]    --> src/client_utils.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub async fn send_text(my_keys: &Keys, client: &Client, content: &str) -> Result<(), Error> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_text_dummy` is never used
[INFO] [stdout]    --> src/client_utils.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub async fn send_text_dummy(my_keys: &Keys, client: &Client, content: &str) -> Result<(), Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_following_user_with_timestamp_and_timeout` is never used
[INFO] [stdout]    --> src/client_utils.rs:199:14
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub async fn get_following_user_with_timestamp_and_timeout(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_following_user_with_timeout` is never used
[INFO] [stdout]    --> src/client_utils.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub async fn get_following_user_with_timeout(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_following_user` is never used
[INFO] [stdout]    --> src/client_utils.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub async fn get_following_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_followers_user` is never used
[INFO] [stdout]    --> src/client_utils.rs:261:14
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub async fn get_followers_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mutuals_user` is never used
[INFO] [stdout]    --> src/client_utils.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub async fn get_mutuals_user(pubkey: PublicKey, client: &Client) -> Result<Vec<PublicKey>, Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_metadata_users_fake` is never used
[INFO] [stdout]    --> src/client_utils.rs:299:14
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub async fn get_metadata_users_fake(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `collect_map` is never used
[INFO] [stdout]   --> src/map_intersect.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | / impl<'a, T, S, K> IntersectionMap<'a, T, S, K>
[INFO] [stdout] 73 | | where
[INFO] [stdout] 74 | |     T: Eq + Hash,
[INFO] [stdout] 75 | |     K: BuildHasher,
[INFO] [stdout]    | |___________________- method in this implementation
[INFO] [stdout] 76 |   {
[INFO] [stdout] 77 |       pub fn collect_map(self) -> HashMap<&'a T, (&'a S, &'a S)> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `user_follow_last_update` and `add_user_no_metadata` are never used
[INFO] [stdout]    --> src/network/base.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl Network {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn user_follow_last_update(&self, user: &PublicKey) -> Option<Timestamp> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn add_user_no_metadata(&mut self, user: PublicKey) -> Option<(Metadata, Timestamp)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InternalGraphError` is never constructed
[INFO] [stdout]   --> src/network/follow.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum RecommendationError {
[INFO] [stdout]    |          ------------------- variant in this enum
[INFO] [stdout] 85 |     NotEnoughLevels,
[INFO] [stdout] 86 |     InternalGraphError(i32),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecommendationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_level_mutual` is never used
[INFO] [stdout]    --> src/network/follow.rs:242:18
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl FollowNetwork {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub async fn add_level_mutual(&mut self) -> Result<&mut Self> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/user.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GetMetadataClientError(Error),
[INFO] [stdout]    |     ---------------------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CreateUserError` has a derived impl for the trait `Debug`, but this is 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] 14 -     GetMetadataClientError(Error),
[INFO] [stdout] 14 +     GetMetadataClientError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "7fed957356fcde8d64f9f34f1a3e6c8ef97ff19a96a0889651ff5aa620ac24e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fed957356fcde8d64f9f34f1a3e6c8ef97ff19a96a0889651ff5aa620ac24e3", kill_on_drop: false }`
[INFO] [stdout] 7fed957356fcde8d64f9f34f1a3e6c8ef97ff19a96a0889651ff5aa620ac24e3
