[INFO] cloning repository https://github.com/Ocelmot/spider
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ocelmot/spider" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOcelmot%2Fspider", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOcelmot%2Fspider'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 69cec73dd6d9e3f3fb198513c53ac59d23c651e4
[INFO] testing Ocelmot/spider against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOcelmot%2Fspider" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Ocelmot/spider
[INFO] finished tweaking git repo https://github.com/Ocelmot/spider
[INFO] tweaked toml for git repo https://github.com/Ocelmot/spider written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Ocelmot/spider on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Ocelmot/spider 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/Ocelmot/spider`
[INFO] [stderr]     Updating git repository `https://github.com/Ocelmot/link_set`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 2 packages to latest compatible versions
[INFO] [stderr]       Adding link_set v0.1.0 (https://github.com/Ocelmot/link_set#c4830fea)
[INFO] [stderr]       Adding spider_link v0.1.0 (https://github.com/Ocelmot/spider#69cec73d)
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 413eadc7f0a6092d16650e2adb352c74217de17e34ed33b9131844203732bb76
[INFO] running `Command { std: "docker" "start" "-a" "413eadc7f0a6092d16650e2adb352c74217de17e34ed33b9131844203732bb76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "413eadc7f0a6092d16650e2adb352c74217de17e34ed33b9131844203732bb76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "413eadc7f0a6092d16650e2adb352c74217de17e34ed33b9131844203732bb76", kill_on_drop: false }`
[INFO] [stdout] 413eadc7f0a6092d16650e2adb352c74217de17e34ed33b9131844203732bb76
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] e8bd651854ee2f5f20ee67d6aaea519cbbade6642df76b582b2f4e367344ef28
[INFO] running `Command { std: "docker" "start" "-a" "e8bd651854ee2f5f20ee67d6aaea519cbbade6642df76b582b2f4e367344ef28", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling bytes v1.10.0
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling foldhash v0.1.4
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]    Compiling anyhow v1.0.96
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling cc v1.2.14
[INFO] [stderr]    Compiling der v0.7.9
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.4
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling network-interface v2.0.0
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling half v1.8.3
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling bimap v0.6.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.14
[INFO] [stderr]    Compiling winnow v0.7.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling time v0.3.37
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling hdrhistogram v7.5.4
[INFO] [stderr]    Compiling simple_logger v5.0.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling async-trait v0.1.86
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling pin-project-internal v1.1.9
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling zstd v0.13.2
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling pin-project v1.1.9
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling serde_with_macros v3.12.0
[INFO] [stderr]    Compiling tracing-appender v0.2.3
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling uuid v1.13.2
[INFO] [stderr]    Compiling serde_cbor v0.11.2
[INFO] [stderr]    Compiling serde_with v3.12.0
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling rsa v0.9.7
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling sha256 v1.5.0
[INFO] [stderr]    Compiling dht_chord v0.1.0 (https://github.com/Ocelmot/chord_dht?rev=3c3cbb88042d5e2c3c3f27aa96a596b7222433c9#3c3cbb88)
[INFO] [stderr]    Compiling link_set v0.1.0 (https://github.com/Ocelmot/link_set#c4830fea)
[INFO] [stderr]    Compiling toml v0.8.20
[INFO] [stderr]    Compiling h2 v0.4.8
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling spider_link v0.1.0 (https://github.com/Ocelmot/spider#69cec73d)
[INFO] [stderr]    Compiling spider_link v0.1.0 (/opt/rustwide/workdir/spider_link)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider_link/src/error.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 126 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LinkImplResult`
[INFO] [stdout]  --> spider_link/src/link_set_impls/tcp_link.rs:9:182
[INFO] [stdout]   |
[INFO] [stdout] 9 | ...k, link_set::links::Link, link_set_impls::{LinkImplError, LinkImplResult}, message::KeyRequest
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `timeout`
[INFO] [stdout]   --> spider_link/src/beacon.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     time::{interval, timeout, Instant, Interval},
[INFO] [stdout]    |                      ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> spider_link/src/link_set_impls/tcp_link.rs:469:33
[INFO] [stdout]     |
[INFO] [stdout] 469 |     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]     = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/spider_link/82cca9ea39162f97/deps/spider_link-82cca9ea39162f97.long-type-7569311071164064974.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 469 -     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stdout] 469 +     async fn read(&mut self) -> impl futures::Future<Output = Result<LinkProtocol, impl StdError + std::marker::Send + Sync + 'static>> + std::marker::Send + Sync {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> spider_link/src/link_set_impls/tcp_link.rs:503:34
[INFO] [stdout]     |
[INFO] [stdout] 503 |     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 503 -     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stdout] 503 +     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, impl StdError + std::marker::Send + Sync + 'static> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `wrap_problem` and `wrap_problem_msg` are never used
[INFO] [stdout]   --> spider_link/src/error.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait ProblemWrap<T> {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn wrap_problem(self, kind: ErrorKind) -> LinkResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn wrap_problem_msg<S: Into<String>>(self, kind: ErrorKind, msg: S) -> LinkResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `self_relation` is never read
[INFO] [stdout]   --> spider_link/src/link_set_impls/tcp_link.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TCPLink {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 33 |     self_relation: SelfRelation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Frame` is never constructed
[INFO] [stdout]   --> spider_link/src/message/mod.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) struct Frame {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Protocol` is never used
[INFO] [stdout]   --> spider_link/src/message/mod.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) enum Protocol {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_interface_sockets` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | async fn get_interface_sockets() -> Vec<UdpSocket> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beacon_probe_send` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 81 | async fn beacon_probe_send(sockets: &Vec<UdpSocket>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sockets_to_recv_stream` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn sockets_to_recv_stream(sockets: Vec<UdpSocket>) -> SelectAll<impl Stream<Item = SocketAddr>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/page/path.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> Iter<usize> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> Iter<'_, usize> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/page/manager.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef> {
[INFO] [stdout]     |                            ^^^^^^^^^                           ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef<'_>> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/page/manager.rs:144:26
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef> {
[INFO] [stdout]     |                          ^^^^^^^^^                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn children(&self) -> std::slice::Iter<UiElement> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn children(&self) -> std::slice::Iter<'_, UiElement> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:282:25
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:297:140
[INFO] [stdout]     |
[INFO] [stdout] 297 | ...>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator{
[INFO] [stdout]     |       --              -- the lifetime is named here       -- the lifetime is named here                         ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |
[INFO] [stdout]     |       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn children_dataset<'a>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator<'a>{
[INFO] [stdout]     |                                                                                                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/element/reference.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/element/reference.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling spider_client v0.1.0 (/opt/rustwide/workdir/spider_client)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider_client/src/error.rs:134:24
[INFO] [stdout]     |
[INFO] [stdout] 134 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 134 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 134 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.10
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling tonic v0.12.3
[INFO] [stderr]    Compiling console-api v0.8.1
[INFO] [stderr]    Compiling console-subscriber v0.4.1
[INFO] [stderr]    Compiling spider v0.1.0 (/opt/rustwide/workdir/spider)
[INFO] [stdout] warning: unused imports: `ErrorKind`, `PathBuf`, and `time::Duration`
[INFO] [stdout]   --> spider/src/main.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     io::{self, ErrorKind},
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 42 |     path::{Path, PathBuf},
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 43 |     time::Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `simple_logger::SimpleLogger`
[INFO] [stdout]   --> spider/src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use simple_logger::SimpleLogger;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level` and `error`
[INFO] [stdout]   --> spider/src/main.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 | use tracing::{debug, error, info, level_filters::LevelFilter, trace, Level};
[INFO] [stdout]    |                      ^^^^^                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RollingFileAppender` and `Rotation`
[INFO] [stdout]   --> spider/src/main.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 | use tracing_appender::rolling::{RollingFileAppender, Rotation};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv4Addr`
[INFO] [stdout]  --> spider/src/processor/mod.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{Ipv4Addr, SocketAddrV4};
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> spider/src/processor/router/mod.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet}, net::SocketAddr, path::{Path, PathBuf}, sync::Arc
[INFO] [stdout]   |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `processor::router::pending::remove_pending_ui_setting`
[INFO] [stdout]   --> spider/src/processor/router/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     processor::router::pending::remove_pending_ui_setting,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> spider/src/processor/router/pending.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, trace};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> spider/src/processor/peripherals/utils.rs:1:78
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{path::{PathBuf, Path}, str::FromStr, process::Stdio, io::SeekFrom, env};
[INFO] [stdout]   |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]  --> spider/src/processor/peripherals/utils.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use spider_link::{message::{UiInput, Message}, Keyfile};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider/src/error.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 126 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `links::PinnedLink`
[INFO] [stdout]  --> spider/src/processor/router/pending.rs:8:113
[INFO] [stdout]   |
[INFO] [stdout] 8 | use spider_link::{ Relation, SelfRelation, identified_link::IdentifiedLink, link_set::{LinkSet, LinkSetMessage, links::PinnedLink}, m...
[INFO] [stdout]   |                                                                                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `links::PinnedLink`
[INFO] [stdout]  --> spider/src/processor/router/mod.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     link_set::{impls::TCPLink, links::PinnedLink, Epoch, LinkSet, LinkSetMessage},
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_rel`
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:178:64
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...outerProcessorMessage>, self_rel: SelfRelation, rel: Relation, ui_permits: Arc<Semaphore>) -> Sender<PendingLinkControl> {
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_rel`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> spider/src/processor/ui/settings.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let id = self.state.self_id().await;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 |             Some((x, list)) => {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child_handle`
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let child_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 sender,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `sender: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg_type`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 msg_type,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `msg_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 data,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `group`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:135:29
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 if let Some(group) = self.groups.get_mut(&group_id) {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_group`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_veilid_enabled` is never used
[INFO] [stdout]    --> spider/src/config.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn default_veilid_enabled() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `config_file` is never used
[INFO] [stdout]   --> spider/src/processor/mod.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl ProcessorBuilder {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn config_file(&mut self, config_path: &Path) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `upkeep_interval_handle` is never read
[INFO] [stdout]    --> spider/src/processor/mod.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct Processor {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 117 |     upkeep_interval_handle: JoinHandle<()>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sender` is never read
[INFO] [stdout]    --> spider/src/processor/mod.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct ProcessorHandle {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 315 |     sender: ProcessorLink,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send` is never used
[INFO] [stdout]    --> spider/src/processor/mod.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl ProcessorHandle {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 320 |     pub(crate) async fn send(&mut self, message: ProcessorMessage) {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/router/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) struct RouterProcessor {
[INFO] [stdout]    |                   --------------- field in this struct
[INFO] [stdout] 43 |     sender: Sender<RouterProcessorMessage>,
[INFO] [stdout] 44 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/router/mod.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl RouterProcessor {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_self_property`, `get_system_property`, and `modify_entry` are never used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Directory {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_self_property(&self, rel: &Relation, key: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn get_system_property(&self, rel: &Relation, key: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub async fn modify_entry(&mut self, rel: &Relation, func: impl FnOnce(&mut DirectoryEntry)) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SetDirectoryEntry` is never constructed
[INFO] [stdout]   --> spider/src/processor/router/message.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum RouterProcessorMessage {
[INFO] [stdout]    |          ---------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     SetDirectoryEntry(Relation, String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RouterProcessorMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/ui/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct UiProcessor {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] 23 |     sender: Sender<UiProcessorMessage>,
[INFO] [stdout] 24 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/ui/mod.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl UiProcessor {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> spider/src/processor/ui/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct UiProcessorState {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 51 |     config: SpiderConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `data_mut` is never used
[INFO] [stdout]    --> spider/src/processor/ui/message.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl<'a> SettingEvent<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn data_mut(&'a mut self) -> &'a mut String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/peripherals/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) struct PeripheralsProcessor{
[INFO] [stdout]    |                   -------------------- field in this struct
[INFO] [stdout] 27 |     sender: Sender<PeripheralProcessorMessage>,
[INFO] [stdout] 28 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/peripherals/mod.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl PeripheralsProcessor {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `build` is never read
[INFO] [stdout]   --> spider/src/processor/peripherals/manifest.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct PeripheralManifest{
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 26 |     #[serde(default)]
[INFO] [stdout] 27 |     build: Option<BuildConfig>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PeripheralManifest` 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 `build` is never used
[INFO] [stdout]   --> spider/src/processor/peripherals/manifest.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl PeripheralManifest{
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn build(&self) -> &Option<BuildConfig>{
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/dataset/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) struct DatasetProcessor {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] 35 |     sender: Sender<DatasetProcessorMessage>,
[INFO] [stdout] 36 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/dataset/mod.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl DatasetProcessor {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> spider/src/processor/dataset/mod.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) struct DatasetProcessorState {
[INFO] [stdout]    |                   --------------------- field in this struct
[INFO] [stdout] 63 |     config: SpiderConfig,
[INFO] [stdout] 64 |     state: StateData,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/group/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct GroupProcessor {
[INFO] [stdout]    |                   -------------- field in this struct
[INFO] [stdout] 26 |     sender: Sender<GroupProcessorMessage>,
[INFO] [stdout] 27 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/group/mod.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl GroupProcessor {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_proposals` is never used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Group {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_proposals(&self) -> Vec<Proposal> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `wrap_problem`, `wrap_msg`, and `wrap_problem_msg` are never used
[INFO] [stdout]   --> spider/src/error.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait ProblemWrap<T> {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn wrap_problem(self, kind: ErrorKind) -> SpiderResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 60 |     /// Wrap self, set the message, return SpiderResult
[INFO] [stdout] 61 |     fn wrap_msg<S: Into<String>>(self, msg: S) -> SpiderResult<T>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 62 |     /// Wrap self, set the problem type and message, return SpiderResult
[INFO] [stdout] 63 |     fn wrap_problem_msg<S: Into<String>>(self, kind: ErrorKind, msg: S) -> SpiderResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Closed`, `Deserialization`, `Taken`, and `Authentication` are never constructed
[INFO] [stdout]    --> spider/src/error.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub enum ErrorKind {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 109 |     /// The Spider has closed
[INFO] [stdout] 110 |     Closed,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 111 |     /// There was a problem deserializing some data
[INFO] [stdout] 112 |     Deserialization,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     /// The receiver has already been taken out of here!
[INFO] [stdout] 114 |     Taken,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 115 |     /// Authentication failure
[INFO] [stdout] 116 |     Authentication,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ErrorKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/main.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pb.state_file(Path::new(&config.state_data_path));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = pb.state_file(Path::new(&config.state_data_path));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/main.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     processor_handle.join().await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let _ = processor_handle.join().await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/state_data.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         tokio::fs::write(&*filename, contents).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let _ = tokio::fs::write(&*filename, contents).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 update_channel.send(ProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 let _ = update_channel.send(ProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 kf.write_to_file(path).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 let _ = kf.write_to_file(path).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             self.ui.send(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let _ = self.ui.send(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |             self.ui.send(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let _ = self.ui.send(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 | /             self.ui
[INFO] [stdout] 222 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 223 | |                     header: "Pending Connections".into(),
[INFO] [stdout] 224 | |                 })
[INFO] [stdout] 225 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             self.ui
[INFO] [stdout] 227 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 228 | |                     header: "Peripheral Services".into(),
[INFO] [stdout] 229 | |                 })
[INFO] [stdout] 230 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 226 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 | /             self.ui
[INFO] [stdout] 232 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 233 | |                     header: "Connected Chords".into(),
[INFO] [stdout] 234 | |                 })
[INFO] [stdout] 235 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 231 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 | /             self.ui
[INFO] [stdout] 237 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 238 | |                     header: "Directory".into(),
[INFO] [stdout] 239 | |                 })
[INFO] [stdout] 240 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | / ...                   self.dataset_processor
[INFO] [stdout] 265 | | ...                       .send(DatasetProcessorMessage::PublicMessage(relation, msg))
[INFO] [stdout] 266 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                             let _ = self.dataset_processor
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:269:29
[INFO] [stdout]     |
[INFO] [stdout] 269 | / ...                   self.router
[INFO] [stdout] 270 | | ...                       .send(RouterProcessorMessage::PeripheralMessage(relation, msg))
[INFO] [stdout] 271 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 |                             let _ = self.router
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:274:29
[INFO] [stdout]     |
[INFO] [stdout] 274 | / ...                   self.group_processor
[INFO] [stdout] 275 | | ...                       .send(GroupProcessorMessage::PublicMessage(relation, msg))
[INFO] [stdout] 276 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 274 |                             let _ = self.group_processor
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |                         self.router.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 281 |                         let _ = self.router.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:284:25
[INFO] [stdout]     |
[INFO] [stdout] 284 |                         self.ui.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 284 |                         let _ = self.ui.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:288:25
[INFO] [stdout]     |
[INFO] [stdout] 288 |                         self.dataset_processor.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 288 |                         let _ = self.dataset_processor.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |                         self.peripherals.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 291 |                         let _ = self.peripherals.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:295:25
[INFO] [stdout]     |
[INFO] [stdout] 295 |                         self.ui.send(UiProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 295 |                         let _ = self.ui.send(UiProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:296:25
[INFO] [stdout]     |
[INFO] [stdout] 296 | /                         self.dataset_processor
[INFO] [stdout] 297 | |                             .send(DatasetProcessorMessage::Upkeep)
[INFO] [stdout] 298 | |                             .await;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 296 |                         let _ = self.dataset_processor
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |                         self.router.send(RouterProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |                         let _ = self.router.send(RouterProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:300:25
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                         self.peripherals
[INFO] [stdout] 301 | |                             .send(PeripheralProcessorMessage::Upkeep)
[INFO] [stdout] 302 | |                             .await;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |                         let _ = self.peripherals
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:303:25
[INFO] [stdout]     |
[INFO] [stdout] 303 |                         self.group_processor.send(GroupProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |                         let _ = self.group_processor.send(GroupProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |         self.sender.send(message).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let _ = self.sender.send(message).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 | /                 match tcp_listener.recv().await {
[INFO] [stdout] 132 | |                     Some(link) => task_tx.send(Box::new(link)).await,
[INFO] [stdout] 133 | |                     None => break,
[INFO] [stdout] 134 | |                 };
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 let _ = match tcp_listener.recv().await {
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:178:33
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...                   self.insert_link(link).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 178 |                                 let _ = self.insert_link(link).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:185:25
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         self.process_message(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         let _ = self.process_message(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |         self.pl.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 link_set.add_link(link).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 let _ = link_set.add_link(link).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let _ = create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:287:17
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 self.send_msg(rel, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 let _ = self.send_msg(rel, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:290:17
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 self.multicast_msg(rels, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 let _ = self.multicast_msg(rels, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:327:17
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 self.pl.send_ui(msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     link.send(msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     let _ = link.send(msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:433:17
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 self.handle_invite(invite).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let _ = self.handle_invite(invite).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |         link_set.send(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let _ = link_set.send(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:456:9
[INFO] [stdout]     |
[INFO] [stdout] 456 |         self.directory.add_identity(&relation).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let _ = self.directory.add_identity(&relation).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 | /             self.sender
[INFO] [stdout] 461 | |                 .send(RouterProcessorMessage::UnapprovedMessage(
[INFO] [stdout] 462 | |                     relation.clone(),
[INFO] [stdout] 463 | |                     msg,
[INFO] [stdout] 464 | |                 ))
[INFO] [stdout] 465 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let _ = self.sender
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |         create_link_set_recv_task(relation.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 468 |         let _ = create_link_set_recv_task(relation.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:478:9
[INFO] [stdout]     |
[INFO] [stdout] 478 |         link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:496:13
[INFO] [stdout]     |
[INFO] [stdout] 496 |             create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 496 |             let _ = create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:527:21
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     link.send(msg.clone()).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     let _ = link.send(msg.clone()).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:534:21
[INFO] [stdout]     |
[INFO] [stdout] 534 |                     link.send(msg.clone()).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 534 |                     let _ = link.send(msg.clone()).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:539:21
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     link.send(msg.clone()).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     let _ = link.send(msg.clone()).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 |             create_link_set_recv_task(invite.rel().clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 552 |             let _ = create_link_set_recv_task(invite.rel().clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |             link_set.add_addr(addr.clone()).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 564 |             let _ = link_set.add_addr(addr.clone()).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:576:9
[INFO] [stdout]     |
[INFO] [stdout] 576 |         link_set.connect().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let _ = link_set.connect().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout] 580 |         link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 580 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |         link_set.send(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let _ = link_set.send(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |         link_set.send(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 592 |         let _ = link_set.send(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:647:9
[INFO] [stdout]     |
[INFO] [stdout] 647 |         self.pl.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |             self.send_msg(rel, msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 652 |             let _ = self.send_msg(rel, msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         self.pl.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 666 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let _ = pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             pending.send(PendingLinkControl::RevokeCode(code.clone())).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let _ = pending.send(PendingLinkControl::RevokeCode(code.clone())).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let _ = pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 let _ = pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |             pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let _ = pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             pending.send(PendingLinkControl::Approve).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let _ = pending.send(PendingLinkControl::Approve).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             pending.send(PendingLinkControl::Deny).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let _ = pending.send(PendingLinkControl::Deny).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         link_set.set_grace_period_timeout(Some(Duration::from_secs(30))).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let _ = link_set.set_grace_period_timeout(Some(Duration::from_secs(30))).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 198 |                             let _ = sender.send(msg).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:209:37
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 209 |                                     let _ = sender.send(msg).await;
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...                   link_set.add_link(link).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 222 |                             let _ = link_set.add_link(link).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   link_set.send(Message::Router(RouterMessage::Pending)).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |                             let _ = link_set.send(Message::Router(RouterMessage::Pending)).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:244:37
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 244 |                                     let _ = sender.send(msg).await;
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:266:41
[INFO] [stdout]     |
[INFO] [stdout] 266 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 266 |                                         let _ = sender.send(msg).await;
[INFO] [stdout]     |                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:287:21
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     sender.send(msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     let _ = sender.send(msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |         sender.send(RouterProcessorMessage::DenyConnection(rel.clone())).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let _ = sender.send(RouterProcessorMessage::DenyConnection(rel.clone())).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/directory.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             self.message_subscribers(msg).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let _ = self.message_subscribers(msg).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         self.message_subscribers(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |             self.message_subscribers(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         self.add_identity(rel).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let _ = self.add_identity(rel).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             self.message_subscribers(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         self.message_subscribers(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         self.message_subscribers(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |             self.pl.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let _ = self.pl.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             self.pl.send_message(subscriber.clone(), msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let _ = self.pl.send_message(subscriber.clone(), msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/event.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             self.send_msg(external, msg).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |             let _ = self.send_msg(external, msg).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/event.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     link.send(msg).await;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     let _ = link.send(msg).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 self.sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 let _ = self.sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:151:21
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     self.sender.send_dataset(msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     let _ = self.sender.send_dataset(msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:176:21
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |         self.sender.multicast_message(subscribers, msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let _ = self.sender.multicast_message(subscribers, msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     self.sender.send_dataset(DatasetProcessorMessage::UiUnsubscribe(path.clone())).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let _ = self.sender.send_dataset(DatasetProcessorMessage::UiUnsubscribe(path.clone())).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     self.sender.send_dataset(DatasetProcessorMessage::UiSubscribe(path.clone())).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let _ = self.sender.send_dataset(DatasetProcessorMessage::UiSubscribe(path.clone())).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/ui/settings.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         let _ = self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:101:25
[INFO] [stdout]     |
[INFO] [stdout] 101 | /                         self.sender
[INFO] [stdout] 102 | |                             .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stdout] 103 | |                                 rel,
[INFO] [stdout] 104 | |                                 DatasetMessage::Append {
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | |                             ))
[INFO] [stdout] 109 | |                             .await;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 101 |                         let _ = self.sender
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 | /                 self.sender
[INFO] [stdout] 122 | |                     .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stdout] 123 | |                         rel,
[INFO] [stdout] 124 | |                         DatasetMessage::Append {
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |                     ))
[INFO] [stdout] 129 | |                     .await;
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 let _ = self.sender
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 | /                 self.sender
[INFO] [stdout] 231 | |                     .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stdout] 232 | |                         rel,
[INFO] [stdout] 233 | |                         DatasetMessage::Empty {
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |                     ))
[INFO] [stdout] 237 | |                     .await;
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 let _ = self.sender
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:271:25
[INFO] [stdout]     |
[INFO] [stdout] 271 |                         self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 271 |                         let _ = self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:307:29
[INFO] [stdout]     |
[INFO] [stdout] 307 | ...                   self.sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 307 |                             let _ = self.sender.send(msg).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.sender.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             child.kill().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let _ = child.kill().await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |             child.kill().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let _ = child.kill().await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         remove_dir_all(path).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let _ = remove_dir_all(path).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         self.sender.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/peripherals/utils.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Keyfile::write_new(path, id, Some(permission_code.clone())).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let _ = Keyfile::write_new(path, id, Some(permission_code.clone())).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/peripherals/utils.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         self.sender.send(msg).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = self.sender.send(msg).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         self.sender.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...                   stdout_file.write(&outbuf[..count]).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 |                             let _ = stdout_file.write(&outbuf[..count]).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 | ...                   stdout_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 225 |                                 let _ = stdout_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:231:33
[INFO] [stdout]     |
[INFO] [stdout] 231 | ...                   stdout_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 231 |                                 let _ = stdout_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   stdout_file.write_all(bytes).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |                                 let _ = stdout_file.write_all(bytes).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:234:33
[INFO] [stdout]     |
[INFO] [stdout] 234 | ...                   stdout_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |                                 let _ = stdout_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:235:33
[INFO] [stdout]     |
[INFO] [stdout] 235 | ...                   stdout_file.flush().await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 235 |                                 let _ = stdout_file.flush().await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | ...                   stderr_file.write(&errbuf[..count]).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |                             let _ = stderr_file.write(&errbuf[..count]).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:253:33
[INFO] [stdout]     |
[INFO] [stdout] 253 | ...                   stderr_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 253 |                                 let _ = stderr_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:259:33
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   stderr_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                                 let _ = stderr_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:261:33
[INFO] [stdout]     |
[INFO] [stdout] 261 | ...                   stderr_file.write_all(bytes).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 261 |                                 let _ = stderr_file.write_all(bytes).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:262:33
[INFO] [stdout]     |
[INFO] [stdout] 262 | ...                   stderr_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 262 |                                 let _ = stderr_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:263:33
[INFO] [stdout]     |
[INFO] [stdout] 263 | ...                   stderr_file.flush().await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 263 |                                 let _ = stderr_file.flush().await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 | / ...                   self.sender
[INFO] [stdout] 114 | | ...                       .send_ui(UiProcessorMessage::DatasetUpdate(k, dataset))
[INFO] [stdout] 115 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |                             let _ = self.sender
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         self.sender.send_message(relation, msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         let _ = self.sender.send_message(relation, msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:268:29
[INFO] [stdout]     |
[INFO] [stdout] 268 | / ...                   self.sender
[INFO] [stdout] 269 | | ...                       .send_ui(UiProcessorMessage::DatasetUpdate(
[INFO] [stdout] 270 | | ...                           path.clone(),
[INFO] [stdout] 271 | | ...                           dataset.clone(),
[INFO] [stdout] 272 | | ...                       ))
[INFO] [stdout] 273 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                             let _ = self.sender
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 | /                 self.sender
[INFO] [stdout] 289 | |                     .multicast_message(peripheral_list, message)
[INFO] [stdout] 290 | |                     .await;
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 let _ = self.sender
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     file.read_to_string(&mut data).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let _ = file.read_to_string(&mut data).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 |     file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let _ = file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 346 |     let _ = file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/group/mod.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 create_dir(&group_path).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 let _ = create_dir(&group_path).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:250:21
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 self.sender.multicast_message(rels.clone(), msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 let _ = self.sender.multicast_message(rels.clone(), msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         create_dir_all(path.parent().unwrap()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let _ = create_dir_all(path.parent().unwrap()).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         pl.somecast_message(rels, self.somecast_qty(), msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let _ = pl.somecast_message(rels, self.somecast_qty(), msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |             sender.send_message(rel, Message::Group(msg)).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let _ = sender.send_message(rel, Message::Group(msg)).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |             sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 237 |             let _ = sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |             sender.send_message(rel, msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let _ = sender.send_message(rel, msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:529:17
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 pl.send_message(rel, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 let _ = pl.send_message(rel, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:650:9
[INFO] [stdout]     |
[INFO] [stdout] 650 |         file.read_to_string(&mut data).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let _ = file.read_to_string(&mut data).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:678:9
[INFO] [stdout]     |
[INFO] [stdout] 678 |         file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 678 |         let _ = file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:679:9
[INFO] [stdout]     |
[INFO] [stdout] 679 |         file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |         let _ = file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 26s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "e8bd651854ee2f5f20ee67d6aaea519cbbade6642df76b582b2f4e367344ef28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8bd651854ee2f5f20ee67d6aaea519cbbade6642df76b582b2f4e367344ef28", kill_on_drop: false }`
[INFO] [stdout] e8bd651854ee2f5f20ee67d6aaea519cbbade6642df76b582b2f4e367344ef28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 617182f9d122ceec2b4b2ba5714389b87c9b2fb5301038a8bfcfd082aaf93d2d
[INFO] running `Command { std: "docker" "start" "-a" "617182f9d122ceec2b4b2ba5714389b87c9b2fb5301038a8bfcfd082aaf93d2d", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling sdd v3.0.7
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider_client/src/error.rs:134:24
[INFO] [stdout]     |
[INFO] [stdout] 134 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 134 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 134 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider_link/src/error.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 126 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LinkImplResult`
[INFO] [stdout]  --> spider_link/src/link_set_impls/tcp_link.rs:9:182
[INFO] [stdout]   |
[INFO] [stdout] 9 | ...k, link_set::links::Link, link_set_impls::{LinkImplError, LinkImplResult}, message::KeyRequest
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `timeout`
[INFO] [stdout]   --> spider_link/src/beacon.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     time::{interval, timeout, Instant, Interval},
[INFO] [stdout]    |                      ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> spider_link/src/link_set_impls/tcp_link.rs:469:33
[INFO] [stdout]     |
[INFO] [stdout] 469 |     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]     = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/spider_link/82cca9ea39162f97/deps/spider_link-82cca9ea39162f97.long-type-7569311071164064974.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 469 -     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stdout] 469 +     async fn read(&mut self) -> impl futures::Future<Output = Result<LinkProtocol, impl StdError + std::marker::Send + Sync + 'static>> + std::marker::Send + Sync {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> spider_link/src/link_set_impls/tcp_link.rs:503:34
[INFO] [stdout]     |
[INFO] [stdout] 503 |     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 503 -     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stdout] 503 +     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, impl StdError + std::marker::Send + Sync + 'static> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `wrap_problem` and `wrap_problem_msg` are never used
[INFO] [stdout]   --> spider_link/src/error.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait ProblemWrap<T> {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn wrap_problem(self, kind: ErrorKind) -> LinkResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn wrap_problem_msg<S: Into<String>>(self, kind: ErrorKind, msg: S) -> LinkResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `self_relation` is never read
[INFO] [stdout]   --> spider_link/src/link_set_impls/tcp_link.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TCPLink {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 33 |     self_relation: SelfRelation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Frame` is never constructed
[INFO] [stdout]   --> spider_link/src/message/mod.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) struct Frame {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Protocol` is never used
[INFO] [stdout]   --> spider_link/src/message/mod.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) enum Protocol {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_interface_sockets` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | async fn get_interface_sockets() -> Vec<UdpSocket> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beacon_probe_send` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 81 | async fn beacon_probe_send(sockets: &Vec<UdpSocket>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sockets_to_recv_stream` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn sockets_to_recv_stream(sockets: Vec<UdpSocket>) -> SelectAll<impl Stream<Item = SocketAddr>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/page/path.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> Iter<usize> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> Iter<'_, usize> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/page/manager.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef> {
[INFO] [stdout]     |                            ^^^^^^^^^                           ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef<'_>> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/page/manager.rs:144:26
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef> {
[INFO] [stdout]     |                          ^^^^^^^^^                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn children(&self) -> std::slice::Iter<UiElement> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn children(&self) -> std::slice::Iter<'_, UiElement> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:282:25
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:297:140
[INFO] [stdout]     |
[INFO] [stdout] 297 | ...>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator{
[INFO] [stdout]     |       --              -- the lifetime is named here       -- the lifetime is named here                         ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |
[INFO] [stdout]     |       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn children_dataset<'a>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator<'a>{
[INFO] [stdout]     |                                                                                                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/element/reference.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/element/reference.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling spider v0.1.0 (/opt/rustwide/workdir/spider)
[INFO] [stderr]    Compiling scc v2.3.3
[INFO] [stderr]    Compiling tracing-test v0.2.5
[INFO] [stdout] warning: unused imports: `ErrorKind`, `PathBuf`, and `time::Duration`
[INFO] [stdout]   --> spider/src/main.rs:41:16
[INFO] [stdout]    |
[INFO] [stdout] 41 |     io::{self, ErrorKind},
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 42 |     path::{Path, PathBuf},
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] 43 |     time::Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `simple_logger::SimpleLogger`
[INFO] [stdout]   --> spider/src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use simple_logger::SimpleLogger;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level` and `error`
[INFO] [stdout]   --> spider/src/main.rs:47:22
[INFO] [stdout]    |
[INFO] [stdout] 47 | use tracing::{debug, error, info, level_filters::LevelFilter, trace, Level};
[INFO] [stdout]    |                      ^^^^^                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RollingFileAppender` and `Rotation`
[INFO] [stdout]   --> spider/src/main.rs:48:33
[INFO] [stdout]    |
[INFO] [stdout] 48 | use tracing_appender::rolling::{RollingFileAppender, Rotation};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv4Addr`
[INFO] [stdout]  --> spider/src/processor/mod.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::net::{Ipv4Addr, SocketAddrV4};
[INFO] [stdout]   |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> spider/src/processor/router/mod.rs:2:62
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet}, net::SocketAddr, path::{Path, PathBuf}, sync::Arc
[INFO] [stdout]   |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `processor::router::pending::remove_pending_ui_setting`
[INFO] [stdout]   --> spider/src/processor/router/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     processor::router::pending::remove_pending_ui_setting,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> spider/src/processor/router/pending.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, trace};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> spider/src/processor/peripherals/utils.rs:1:78
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{path::{PathBuf, Path}, str::FromStr, process::Stdio, io::SeekFrom, env};
[INFO] [stdout]   |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]  --> spider/src/processor/peripherals/utils.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use spider_link::{message::{UiInput, Message}, Keyfile};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider/src/error.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 126 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling spider_link v0.1.0 (/opt/rustwide/workdir/spider_link)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider_link/src/error.rs:126:24
[INFO] [stdout]     |
[INFO] [stdout] 126 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 126 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LinkImplResult`
[INFO] [stdout]  --> spider_link/src/link_set_impls/tcp_link.rs:9:182
[INFO] [stdout]   |
[INFO] [stdout] 9 | ...k, link_set::links::Link, link_set_impls::{LinkImplError, LinkImplResult}, message::KeyRequest
[INFO] [stdout]   |                                                              ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `timeout`
[INFO] [stdout]   --> spider_link/src/beacon.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |     time::{interval, timeout, Instant, Interval},
[INFO] [stdout]    |                      ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> spider_link/src/link_set_impls/tcp_link.rs:469:33
[INFO] [stdout]     |
[INFO] [stdout] 469 |     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout]     = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/spider_link/99ff6f8b63f77ad7/deps/spider_link-99ff6f8b63f77ad7.long-type-8928878671692463520.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 469 -     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stdout] 469 +     async fn read(&mut self) -> impl futures::Future<Output = Result<link_set::LinkProtocol, impl StdError + std::marker::Send + Sync + 'static>> + std::marker::Send + Sync {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stdout]    --> spider_link/src/link_set_impls/tcp_link.rs:503:34
[INFO] [stdout]     |
[INFO] [stdout] 503 |     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stdout]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stdout] help: replace the return type so that it matches the trait
[INFO] [stdout]     |
[INFO] [stdout] 503 -     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stdout] 503 +     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, impl StdError + std::marker::Send + Sync + 'static> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serial_test v3.2.0
[INFO] [stderr]    Compiling spider_client v0.1.0 (/opt/rustwide/workdir/spider_client)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> spider_client/src/error.rs:134:24
[INFO] [stdout]     |
[INFO] [stdout] 134 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout]     |                        ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 134 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stdout] 134 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `links::PinnedLink`
[INFO] [stdout]  --> spider/src/processor/router/pending.rs:8:113
[INFO] [stdout]   |
[INFO] [stdout] 8 | use spider_link::{ Relation, SelfRelation, identified_link::IdentifiedLink, link_set::{LinkSet, LinkSetMessage, links::PinnedLink}, m...
[INFO] [stdout]   |                                                                                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `links::PinnedLink`
[INFO] [stdout]  --> spider/src/processor/router/mod.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     link_set::{impls::TCPLink, links::PinnedLink, Epoch, LinkSet, LinkSetMessage},
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_rel`
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:178:64
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...outerProcessorMessage>, self_rel: SelfRelation, rel: Relation, ui_permits: Arc<Semaphore>) -> Sender<PendingLinkControl> {
[INFO] [stdout]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_rel`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `wrap_problem` and `wrap_problem_msg` are never used
[INFO] [stdout]   --> spider_link/src/error.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait ProblemWrap<T> {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn wrap_problem(self, kind: ErrorKind) -> LinkResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn wrap_problem_msg<S: Into<String>>(self, kind: ErrorKind, msg: S) -> LinkResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `self_relation` is never read
[INFO] [stdout]   --> spider_link/src/link_set_impls/tcp_link.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TCPLink {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 33 |     self_relation: SelfRelation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Frame` is never constructed
[INFO] [stdout]   --> spider_link/src/message/mod.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) struct Frame {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Protocol` is never used
[INFO] [stdout]   --> spider_link/src/message/mod.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub(crate) enum Protocol {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_interface_sockets` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | async fn get_interface_sockets() -> Vec<UdpSocket> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `beacon_probe_send` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:81:10
[INFO] [stdout]    |
[INFO] [stdout] 81 | async fn beacon_probe_send(sockets: &Vec<UdpSocket>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sockets_to_recv_stream` is never used
[INFO] [stdout]   --> spider_link/src/beacon.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn sockets_to_recv_stream(sockets: Vec<UdpSocket>) -> SelectAll<impl Stream<Item = SocketAddr>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> spider/src/processor/ui/settings.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let id = self.state.self_id().await;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/page/path.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> Iter<usize> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn iter(&self) -> Iter<'_, usize> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 |             Some((x, list)) => {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/page/manager.rs:101:28
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef> {
[INFO] [stdout]     |                            ^^^^^^^^^                           ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef<'_>> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/page/manager.rs:144:26
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef> {
[INFO] [stdout]     |                          ^^^^^^^^^                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn children(&self) -> std::slice::Iter<UiElement> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn children(&self) -> std::slice::Iter<'_, UiElement> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:282:25
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> spider_link/src/message/ui/element/mod.rs:297:140
[INFO] [stdout]     |
[INFO] [stdout] 297 | ...>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator{
[INFO] [stdout]     |       --              -- the lifetime is named here       -- the lifetime is named here                         ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |       |
[INFO] [stdout]     |       the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn children_dataset<'a>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator<'a>{
[INFO] [stdout]     |                                                                                                                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/element/reference.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> spider_link/src/message/ui/element/reference.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stdout]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child_handle`
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let child_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 sender,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `sender: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg_type`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 msg_type,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `msg_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 data,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `group`
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:135:29
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 if let Some(group) = self.groups.get_mut(&group_id) {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_group`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_veilid_enabled` is never used
[INFO] [stdout]    --> spider/src/config.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn default_veilid_enabled() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `config_file` is never used
[INFO] [stdout]   --> spider/src/processor/mod.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl ProcessorBuilder {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn config_file(&mut self, config_path: &Path) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `upkeep_interval_handle` is never read
[INFO] [stdout]    --> spider/src/processor/mod.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | struct Processor {
[INFO] [stdout]     |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 117 |     upkeep_interval_handle: JoinHandle<()>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sender` is never read
[INFO] [stdout]    --> spider/src/processor/mod.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct ProcessorHandle {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 315 |     sender: ProcessorLink,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send` is never used
[INFO] [stdout]    --> spider/src/processor/mod.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl ProcessorHandle {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 320 |     pub(crate) async fn send(&mut self, message: ProcessorMessage) {
[INFO] [stdout]     |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/router/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) struct RouterProcessor {
[INFO] [stdout]    |                   --------------- field in this struct
[INFO] [stdout] 43 |     sender: Sender<RouterProcessorMessage>,
[INFO] [stdout] 44 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/router/mod.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl RouterProcessor {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_self_property`, `get_system_property`, and `modify_entry` are never used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl Directory {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_self_property(&self, rel: &Relation, key: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn get_system_property(&self, rel: &Relation, key: &str) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub async fn modify_entry(&mut self, rel: &Relation, func: impl FnOnce(&mut DirectoryEntry)) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SetDirectoryEntry` is never constructed
[INFO] [stdout]   --> spider/src/processor/router/message.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum RouterProcessorMessage {
[INFO] [stdout]    |          ---------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     SetDirectoryEntry(Relation, String, String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RouterProcessorMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/ui/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct UiProcessor {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] 23 |     sender: Sender<UiProcessorMessage>,
[INFO] [stdout] 24 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/ui/mod.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl UiProcessor {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> spider/src/processor/ui/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct UiProcessorState {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 51 |     config: SpiderConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `data_mut` is never used
[INFO] [stdout]    --> spider/src/processor/ui/message.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl<'a> SettingEvent<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn data_mut(&'a mut self) -> &'a mut String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/peripherals/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) struct PeripheralsProcessor{
[INFO] [stdout]    |                   -------------------- field in this struct
[INFO] [stdout] 27 |     sender: Sender<PeripheralProcessorMessage>,
[INFO] [stdout] 28 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/peripherals/mod.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl PeripheralsProcessor {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `build` is never read
[INFO] [stdout]   --> spider/src/processor/peripherals/manifest.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct PeripheralManifest{
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 26 |     #[serde(default)]
[INFO] [stdout] 27 |     build: Option<BuildConfig>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PeripheralManifest` 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 `build` is never used
[INFO] [stdout]   --> spider/src/processor/peripherals/manifest.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl PeripheralManifest{
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn build(&self) -> &Option<BuildConfig>{
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/dataset/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) struct DatasetProcessor {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] 35 |     sender: Sender<DatasetProcessorMessage>,
[INFO] [stdout] 36 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/dataset/mod.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl DatasetProcessor {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> spider/src/processor/dataset/mod.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub(crate) struct DatasetProcessorState {
[INFO] [stdout]    |                   --------------------- field in this struct
[INFO] [stdout] 63 |     config: SpiderConfig,
[INFO] [stdout] 64 |     state: StateData,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `handle` is never read
[INFO] [stdout]   --> spider/src/processor/group/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct GroupProcessor {
[INFO] [stdout]    |                   -------------- field in this struct
[INFO] [stdout] 26 |     sender: Sender<GroupProcessorMessage>,
[INFO] [stdout] 27 |     handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> spider/src/processor/group/mod.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl GroupProcessor {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_proposals` is never used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl Group {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn get_proposals(&self) -> Vec<Proposal> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `wrap_problem`, `wrap_msg`, and `wrap_problem_msg` are never used
[INFO] [stdout]   --> spider/src/error.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait ProblemWrap<T> {
[INFO] [stdout]    |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn wrap_problem(self, kind: ErrorKind) -> SpiderResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 60 |     /// Wrap self, set the message, return SpiderResult
[INFO] [stdout] 61 |     fn wrap_msg<S: Into<String>>(self, msg: S) -> SpiderResult<T>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 62 |     /// Wrap self, set the problem type and message, return SpiderResult
[INFO] [stdout] 63 |     fn wrap_problem_msg<S: Into<String>>(self, kind: ErrorKind, msg: S) -> SpiderResult<T>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Closed`, `Deserialization`, `Taken`, and `Authentication` are never constructed
[INFO] [stdout]    --> spider/src/error.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub enum ErrorKind {
[INFO] [stdout]     |          --------- variants in this enum
[INFO] [stdout] 109 |     /// The Spider has closed
[INFO] [stdout] 110 |     Closed,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 111 |     /// There was a problem deserializing some data
[INFO] [stdout] 112 |     Deserialization,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     /// The receiver has already been taken out of here!
[INFO] [stdout] 114 |     Taken,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 115 |     /// Authentication failure
[INFO] [stdout] 116 |     Authentication,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ErrorKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/main.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pb.state_file(Path::new(&config.state_data_path));
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = pb.state_file(Path::new(&config.state_data_path));
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/main.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     processor_handle.join().await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 125 |     let _ = processor_handle.join().await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/state_data.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         tokio::fs::write(&*filename, contents).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let _ = tokio::fs::write(&*filename, contents).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 update_channel.send(ProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 159 |                 let _ = update_channel.send(ProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:193:17
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 kf.write_to_file(path).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 let _ = kf.write_to_file(path).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |             self.ui.send(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let _ = self.ui.send(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |             self.ui.send(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let _ = self.ui.send(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 | /             self.ui
[INFO] [stdout] 222 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 223 | |                     header: "Pending Connections".into(),
[INFO] [stdout] 224 | |                 })
[INFO] [stdout] 225 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             self.ui
[INFO] [stdout] 227 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 228 | |                     header: "Peripheral Services".into(),
[INFO] [stdout] 229 | |                 })
[INFO] [stdout] 230 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 226 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 | /             self.ui
[INFO] [stdout] 232 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 233 | |                     header: "Connected Chords".into(),
[INFO] [stdout] 234 | |                 })
[INFO] [stdout] 235 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 231 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 | /             self.ui
[INFO] [stdout] 237 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stdout] 238 | |                     header: "Directory".into(),
[INFO] [stdout] 239 | |                 })
[INFO] [stdout] 240 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let _ = self.ui
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | / ...                   self.dataset_processor
[INFO] [stdout] 265 | | ...                       .send(DatasetProcessorMessage::PublicMessage(relation, msg))
[INFO] [stdout] 266 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 264 |                             let _ = self.dataset_processor
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:269:29
[INFO] [stdout]     |
[INFO] [stdout] 269 | / ...                   self.router
[INFO] [stdout] 270 | | ...                       .send(RouterProcessorMessage::PeripheralMessage(relation, msg))
[INFO] [stdout] 271 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 |                             let _ = self.router
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:274:29
[INFO] [stdout]     |
[INFO] [stdout] 274 | / ...                   self.group_processor
[INFO] [stdout] 275 | | ...                       .send(GroupProcessorMessage::PublicMessage(relation, msg))
[INFO] [stdout] 276 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 274 |                             let _ = self.group_processor
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |                         self.router.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 281 |                         let _ = self.router.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:284:25
[INFO] [stdout]     |
[INFO] [stdout] 284 |                         self.ui.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 284 |                         let _ = self.ui.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:288:25
[INFO] [stdout]     |
[INFO] [stdout] 288 |                         self.dataset_processor.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 288 |                         let _ = self.dataset_processor.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:291:25
[INFO] [stdout]     |
[INFO] [stdout] 291 |                         self.peripherals.send(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 291 |                         let _ = self.peripherals.send(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:295:25
[INFO] [stdout]     |
[INFO] [stdout] 295 |                         self.ui.send(UiProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 295 |                         let _ = self.ui.send(UiProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:296:25
[INFO] [stdout]     |
[INFO] [stdout] 296 | /                         self.dataset_processor
[INFO] [stdout] 297 | |                             .send(DatasetProcessorMessage::Upkeep)
[INFO] [stdout] 298 | |                             .await;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 296 |                         let _ = self.dataset_processor
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |                         self.router.send(RouterProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 299 |                         let _ = self.router.send(RouterProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:300:25
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                         self.peripherals
[INFO] [stdout] 301 | |                             .send(PeripheralProcessorMessage::Upkeep)
[INFO] [stdout] 302 | |                             .await;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |                         let _ = self.peripherals
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:303:25
[INFO] [stdout]     |
[INFO] [stdout] 303 |                         self.group_processor.send(GroupProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |                         let _ = self.group_processor.send(GroupProcessorMessage::Upkeep).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/mod.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |         self.sender.send(message).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let _ = self.sender.send(message).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 | /                 match tcp_listener.recv().await {
[INFO] [stdout] 132 | |                     Some(link) => task_tx.send(Box::new(link)).await,
[INFO] [stdout] 133 | |                     None => break,
[INFO] [stdout] 134 | |                 };
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 let _ = match tcp_listener.recv().await {
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:178:33
[INFO] [stdout]     |
[INFO] [stdout] 178 | ...                   self.insert_link(link).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 178 |                                 let _ = self.insert_link(link).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:185:25
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         self.process_message(msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 185 |                         let _ = self.process_message(msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |         self.pl.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 link_set.add_link(link).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 227 |                 let _ = link_set.add_link(link).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 let _ = create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:287:17
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 self.send_msg(rel, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 let _ = self.send_msg(rel, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:290:17
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 self.multicast_msg(rels, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 290 |                 let _ = self.multicast_msg(rels, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:327:17
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 self.pl.send_ui(msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 327 |                 let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     link.send(msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 333 |                     let _ = link.send(msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:433:17
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 self.handle_invite(invite).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 433 |                 let _ = self.handle_invite(invite).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |         link_set.send(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let _ = link_set.send(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:456:9
[INFO] [stdout]     |
[INFO] [stdout] 456 |         self.directory.add_identity(&relation).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let _ = self.directory.add_identity(&relation).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 | /             self.sender
[INFO] [stdout] 461 | |                 .send(RouterProcessorMessage::UnapprovedMessage(
[INFO] [stdout] 462 | |                     relation.clone(),
[INFO] [stdout] 463 | |                     msg,
[INFO] [stdout] 464 | |                 ))
[INFO] [stdout] 465 | |                 .await;
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let _ = self.sender
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |         create_link_set_recv_task(relation.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 468 |         let _ = create_link_set_recv_task(relation.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 473 |         link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:478:9
[INFO] [stdout]     |
[INFO] [stdout] 478 |         link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:496:13
[INFO] [stdout]     |
[INFO] [stdout] 496 |             create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 496 |             let _ = create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:527:21
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     link.send(msg.clone()).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 527 |                     let _ = link.send(msg.clone()).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:534:21
[INFO] [stdout]     |
[INFO] [stdout] 534 |                     link.send(msg.clone()).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 534 |                     let _ = link.send(msg.clone()).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:539:21
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     link.send(msg.clone()).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     let _ = link.send(msg.clone()).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 |             create_link_set_recv_task(invite.rel().clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 552 |             let _ = create_link_set_recv_task(invite.rel().clone(), &mut link_set, self.sender.clone());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:564:13
[INFO] [stdout]     |
[INFO] [stdout] 564 |             link_set.add_addr(addr.clone()).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 564 |             let _ = link_set.add_addr(addr.clone()).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:576:9
[INFO] [stdout]     |
[INFO] [stdout] 576 |         link_set.connect().await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let _ = link_set.connect().await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout] 580 |         link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 580 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |         link_set.send(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 587 |         let _ = link_set.send(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:592:9
[INFO] [stdout]     |
[INFO] [stdout] 592 |         link_set.send(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 592 |         let _ = link_set.send(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:647:9
[INFO] [stdout]     |
[INFO] [stdout] 647 |         self.pl.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |             self.send_msg(rel, msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 652 |             let _ = self.send_msg(rel, msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/mod.rs:666:9
[INFO] [stdout]     |
[INFO] [stdout] 666 |         self.pl.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 666 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let _ = pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             pending.send(PendingLinkControl::RevokeCode(code.clone())).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |             let _ = pending.send(PendingLinkControl::RevokeCode(code.clone())).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let _ = pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 let _ = pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |             pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let _ = pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/pending.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |             pending.send(PendingLinkControl::Approve).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let _ = pending.send(PendingLinkControl::Approve).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             pending.send(PendingLinkControl::Deny).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let _ = pending.send(PendingLinkControl::Deny).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         link_set.set_grace_period_timeout(Some(Duration::from_secs(30))).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let _ = link_set.set_grace_period_timeout(Some(Duration::from_secs(30))).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:198:29
[INFO] [stdout]     |
[INFO] [stdout] 198 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 198 |                             let _ = sender.send(msg).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:209:37
[INFO] [stdout]     |
[INFO] [stdout] 209 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 209 |                                     let _ = sender.send(msg).await;
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:222:29
[INFO] [stdout]     |
[INFO] [stdout] 222 | ...                   link_set.add_link(link).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 222 |                             let _ = link_set.add_link(link).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   link_set.send(Message::Router(RouterMessage::Pending)).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |                             let _ = link_set.send(Message::Router(RouterMessage::Pending)).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:244:37
[INFO] [stdout]     |
[INFO] [stdout] 244 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 244 |                                     let _ = sender.send(msg).await;
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:266:41
[INFO] [stdout]     |
[INFO] [stdout] 266 | ...                   sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 266 |                                         let _ = sender.send(msg).await;
[INFO] [stdout]     |                                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:287:21
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     sender.send(msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 287 |                     let _ = sender.send(msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/pending.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |         sender.send(RouterProcessorMessage::DenyConnection(rel.clone())).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let _ = sender.send(RouterProcessorMessage::DenyConnection(rel.clone())).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/directory.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             self.message_subscribers(msg).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let _ = self.message_subscribers(msg).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         self.message_subscribers(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |             self.message_subscribers(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         self.add_identity(rel).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let _ = self.add_identity(rel).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             self.message_subscribers(msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         self.message_subscribers(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         self.message_subscribers(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let _ = self.message_subscribers(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |             self.pl.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let _ = self.pl.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             self.pl.send_message(subscriber.clone(), msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 232 |             let _ = self.pl.send_message(subscriber.clone(), msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 292 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/router/directory.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pl.send_ui(msg).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let _ = pl.send_ui(msg).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/event.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             self.send_msg(external, msg).await;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |             let _ = self.send_msg(external, msg).await;
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/router/event.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     link.send(msg).await;
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     let _ = link.send(msg).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:147:17
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 self.sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 let _ = self.sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:151:21
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     self.sender.send_dataset(msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     let _ = self.sender.send_dataset(msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:176:21
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |         self.sender.multicast_message(subscribers, msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let _ = self.sender.multicast_message(subscribers, msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     self.sender.send_dataset(DatasetProcessorMessage::UiUnsubscribe(path.clone())).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let _ = self.sender.send_dataset(DatasetProcessorMessage::UiUnsubscribe(path.clone())).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/mod.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     self.sender.send_dataset(DatasetProcessorMessage::UiSubscribe(path.clone())).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let _ = self.sender.send_dataset(DatasetProcessorMessage::UiSubscribe(path.clone())).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/ui/settings.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         let _ = self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:101:25
[INFO] [stdout]     |
[INFO] [stdout] 101 | /                         self.sender
[INFO] [stdout] 102 | |                             .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stdout] 103 | |                                 rel,
[INFO] [stdout] 104 | |                                 DatasetMessage::Append {
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | |                             ))
[INFO] [stdout] 109 | |                             .await;
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 101 |                         let _ = self.sender
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 | /                 self.sender
[INFO] [stdout] 122 | |                     .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stdout] 123 | |                         rel,
[INFO] [stdout] 124 | |                         DatasetMessage::Append {
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |                     ))
[INFO] [stdout] 129 | |                     .await;
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 let _ = self.sender
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 | /                 self.sender
[INFO] [stdout] 231 | |                     .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stdout] 232 | |                         rel,
[INFO] [stdout] 233 | |                         DatasetMessage::Empty {
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |                     ))
[INFO] [stdout] 237 | |                     .await;
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 let _ = self.sender
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:271:25
[INFO] [stdout]     |
[INFO] [stdout] 271 |                         self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 271 |                         let _ = self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/ui/settings.rs:307:29
[INFO] [stdout]     |
[INFO] [stdout] 307 | ...                   self.sender.send(msg).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 307 |                             let _ = self.sender.send(msg).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         self.sender.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             child.kill().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let _ = child.kill().await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |             child.kill().await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let _ = child.kill().await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         remove_dir_all(path).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let _ = remove_dir_all(path).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/mod.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |         self.sender.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/peripherals/utils.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         Keyfile::write_new(path, id, Some(permission_code.clone())).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let _ = Keyfile::write_new(path, id, Some(permission_code.clone())).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/peripherals/utils.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         self.sender.send(msg).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let _ = self.sender.send(msg).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         self.sender.send_ui(msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:220:29
[INFO] [stdout]     |
[INFO] [stdout] 220 | ...                   stdout_file.write(&outbuf[..count]).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 220 |                             let _ = stdout_file.write(&outbuf[..count]).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 | ...                   stdout_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 225 |                                 let _ = stdout_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:231:33
[INFO] [stdout]     |
[INFO] [stdout] 231 | ...                   stdout_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 231 |                                 let _ = stdout_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   stdout_file.write_all(bytes).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |                                 let _ = stdout_file.write_all(bytes).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:234:33
[INFO] [stdout]     |
[INFO] [stdout] 234 | ...                   stdout_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |                                 let _ = stdout_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:235:33
[INFO] [stdout]     |
[INFO] [stdout] 235 | ...                   stdout_file.flush().await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 235 |                                 let _ = stdout_file.flush().await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | ...                   stderr_file.write(&errbuf[..count]).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 248 |                             let _ = stderr_file.write(&errbuf[..count]).await;
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:253:33
[INFO] [stdout]     |
[INFO] [stdout] 253 | ...                   stderr_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 253 |                                 let _ = stderr_file.read_to_string(&mut rotate_buf).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:259:33
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   stderr_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |                                 let _ = stderr_file.seek(SeekFrom::Start(0)).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:261:33
[INFO] [stdout]     |
[INFO] [stdout] 261 | ...                   stderr_file.write_all(bytes).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 261 |                                 let _ = stderr_file.write_all(bytes).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:262:33
[INFO] [stdout]     |
[INFO] [stdout] 262 | ...                   stderr_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 262 |                                 let _ = stderr_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/peripherals/utils.rs:263:33
[INFO] [stdout]     |
[INFO] [stdout] 263 | ...                   stderr_file.flush().await;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 263 |                                 let _ = stderr_file.flush().await;
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 | / ...                   self.sender
[INFO] [stdout] 114 | | ...                       .send_ui(UiProcessorMessage::DatasetUpdate(k, dataset))
[INFO] [stdout] 115 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 113 |                             let _ = self.sender
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         self.sender.send_message(relation, msg).await;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 137 |                         let _ = self.sender.send_message(relation, msg).await;
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:170:17
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:268:29
[INFO] [stdout]     |
[INFO] [stdout] 268 | / ...                   self.sender
[INFO] [stdout] 269 | | ...                       .send_ui(UiProcessorMessage::DatasetUpdate(
[INFO] [stdout] 270 | | ...                           path.clone(),
[INFO] [stdout] 271 | | ...                           dataset.clone(),
[INFO] [stdout] 272 | | ...                       ))
[INFO] [stdout] 273 | | ...                       .await;
[INFO] [stdout]     | |________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 268 |                             let _ = self.sender
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:288:17
[INFO] [stdout]     |
[INFO] [stdout] 288 | /                 self.sender
[INFO] [stdout] 289 | |                     .multicast_message(peripheral_list, message)
[INFO] [stdout] 290 | |                     .await;
[INFO] [stdout]     | |__________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 288 |                 let _ = self.sender
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     file.read_to_string(&mut data).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let _ = file.read_to_string(&mut data).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 345 |     file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let _ = file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/dataset/mod.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 346 |     let _ = file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> spider/src/processor/group/mod.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 create_dir(&group_path).await;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 let _ = create_dir(&group_path).await;
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:250:21
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/mod.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 self.sender.multicast_message(rels.clone(), msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 271 |                 let _ = self.sender.multicast_message(rels.clone(), msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         create_dir_all(path.parent().unwrap()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let _ = create_dir_all(path.parent().unwrap()).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         pl.somecast_message(rels, self.somecast_qty(), msg).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let _ = pl.somecast_message(rels, self.somecast_qty(), msg).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |             sender.send_message(rel, Message::Group(msg)).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |             let _ = sender.send_message(rel, Message::Group(msg)).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |             sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 237 |             let _ = sender.send_message(rel.clone(), msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |             sender.send_message(rel, msg).await;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |             let _ = sender.send_message(rel, msg).await;
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:529:17
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 pl.send_message(rel, msg).await;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 529 |                 let _ = pl.send_message(rel, msg).await;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:650:9
[INFO] [stdout]     |
[INFO] [stdout] 650 |         file.read_to_string(&mut data).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let _ = file.read_to_string(&mut data).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:678:9
[INFO] [stdout]     |
[INFO] [stdout] 678 |         file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 678 |         let _ = file.write_all(data.as_bytes()).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> spider/src/processor/group/group.rs:679:9
[INFO] [stdout]     |
[INFO] [stdout] 679 |         file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 679 |         let _ = file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.63s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "617182f9d122ceec2b4b2ba5714389b87c9b2fb5301038a8bfcfd082aaf93d2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "617182f9d122ceec2b4b2ba5714389b87c9b2fb5301038a8bfcfd082aaf93d2d", kill_on_drop: false }`
[INFO] [stdout] 617182f9d122ceec2b4b2ba5714389b87c9b2fb5301038a8bfcfd082aaf93d2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] e218159a523265c1a6c9e46f21a67e7c9bbc5c50f370c87fccb93747d11f7db3
[INFO] running `Command { std: "docker" "start" "-a" "e218159a523265c1a6c9e46f21a67e7c9bbc5c50f370c87fccb93747d11f7db3", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> spider_client/src/error.rs:134:24
[INFO] [stderr]     |
[INFO] [stderr] 134 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stderr]     |                        ^                                 ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 134 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stderr] 134 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> spider_link/src/error.rs:126:24
[INFO] [stderr]     |
[INFO] [stderr] 126 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stderr]     |                        ^                                 ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 126 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stderr] 126 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LinkImplResult`
[INFO] [stderr]  --> spider_link/src/link_set_impls/tcp_link.rs:9:182
[INFO] [stderr]   |
[INFO] [stderr] 9 | ...k, link_set::links::Link, link_set_impls::{LinkImplError, LinkImplResult}, message::KeyRequest
[INFO] [stderr]   |                                                              ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Instant` and `timeout`
[INFO] [stderr]   --> spider_link/src/beacon.rs:23:22
[INFO] [stderr]    |
[INFO] [stderr] 23 |     time::{interval, timeout, Instant, Interval},
[INFO] [stderr]    |                      ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stderr]    --> spider_link/src/link_set_impls/tcp_link.rs:469:33
[INFO] [stderr]     |
[INFO] [stderr] 469 |     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stderr]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stderr]     = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stderr]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/spider_link/82cca9ea39162f97/deps/spider_link-82cca9ea39162f97.long-type-7569311071164064974.txt'
[INFO] [stderr]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stderr] help: replace the return type so that it matches the trait
[INFO] [stderr]     |
[INFO] [stderr] 469 -     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stderr] 469 +     async fn read(&mut self) -> impl futures::Future<Output = Result<LinkProtocol, impl StdError + std::marker::Send + Sync + 'static>> + std::marker::Send + Sync {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stderr]    --> spider_link/src/link_set_impls/tcp_link.rs:503:34
[INFO] [stderr]     |
[INFO] [stderr] 503 |     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stderr]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stderr] help: replace the return type so that it matches the trait
[INFO] [stderr]     |
[INFO] [stderr] 503 -     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, LinkImplError> {
[INFO] [stderr] 503 +     fn take_reader(&mut self) -> Result<impl LinkReader + 'static, impl StdError + std::marker::Send + Sync + 'static> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: methods `wrap_problem` and `wrap_problem_msg` are never used
[INFO] [stderr]   --> spider_link/src/error.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub trait ProblemWrap<T> {
[INFO] [stderr]    |           ----------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 59 |     fn wrap_problem(self, kind: ErrorKind) -> LinkResult<T>;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     fn wrap_problem_msg<S: Into<String>>(self, kind: ErrorKind, msg: S) -> LinkResult<T>;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `self_relation` is never read
[INFO] [stderr]   --> spider_link/src/link_set_impls/tcp_link.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct TCPLink {
[INFO] [stderr]    |            ------- field in this struct
[INFO] [stderr] 33 |     self_relation: SelfRelation,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Frame` is never constructed
[INFO] [stderr]   --> spider_link/src/message/mod.rs:77:19
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub(crate) struct Frame {
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Protocol` is never used
[INFO] [stderr]   --> spider_link/src/message/mod.rs:93:17
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub(crate) enum Protocol {
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_interface_sockets` is never used
[INFO] [stderr]   --> spider_link/src/beacon.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 | async fn get_interface_sockets() -> Vec<UdpSocket> {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `beacon_probe_send` is never used
[INFO] [stderr]   --> spider_link/src/beacon.rs:81:10
[INFO] [stderr]    |
[INFO] [stderr] 81 | async fn beacon_probe_send(sockets: &Vec<UdpSocket>) {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sockets_to_recv_stream` is never used
[INFO] [stderr]   --> spider_link/src/beacon.rs:98:4
[INFO] [stderr]    |
[INFO] [stderr] 98 | fn sockets_to_recv_stream(sockets: Vec<UdpSocket>) -> SelectAll<impl Stream<Item = SocketAddr>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> spider_link/src/message/ui/page/path.rs:22:17
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn iter(&self) -> Iter<usize> {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn iter(&self) -> Iter<'_, usize> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> spider_link/src/message/ui/page/manager.rs:101:28
[INFO] [stderr]     |
[INFO] [stderr] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef> {
[INFO] [stderr]     |                            ^^^^^^^^^                           ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 101 |     pub fn get_element_mut(&mut self, path: &UiPath) -> Option<UiElementRef<'_>> {
[INFO] [stderr]     |                                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> spider_link/src/message/ui/page/manager.rs:144:26
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef> {
[INFO] [stderr]     |                          ^^^^^^^^^                      ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UiElementRef<'_>> {
[INFO] [stderr]     |                                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> spider_link/src/message/ui/element/mod.rs:274:21
[INFO] [stderr]     |
[INFO] [stderr] 274 |     pub fn children(&self) -> std::slice::Iter<UiElement> {
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 274 |     pub fn children(&self) -> std::slice::Iter<'_, UiElement> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> spider_link/src/message/ui/element/mod.rs:282:25
[INFO] [stderr]     |
[INFO] [stderr] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stderr]     |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 282 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stderr]     |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> spider_link/src/message/ui/element/mod.rs:297:140
[INFO] [stderr]     |
[INFO] [stderr] 297 | ...>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator{
[INFO] [stderr]     |       --              -- the lifetime is named here       -- the lifetime is named here                         ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |       |
[INFO] [stderr]     |       the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 297 |     pub fn children_dataset<'a>(&'a self, data: &'a Option<&DatasetData>, data_map: &'a HashMap<AbsoluteDatasetPath, Vec<DatasetData>>) -> UiElementDatasetIterator<'a>{
[INFO] [stderr]     |                                                                                                                                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> spider_link/src/message/ui/element/reference.rs:33:25
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stderr]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 33 |     pub fn children_mut(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> spider_link/src/message/ui/element/reference.rs:43:25
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<UiElement> {
[INFO] [stderr]    |                         ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub fn children_raw(&mut self) -> std::slice::IterMut<'_, UiElement> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: impl trait in impl method signature does not match trait method signature
[INFO] [stderr]    --> spider_link/src/link_set_impls/tcp_link.rs:469:33
[INFO] [stderr]     |
[INFO] [stderr] 469 |     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
[INFO] [stderr]     = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
[INFO] [stderr]     = note: `#[warn(refining_impl_trait_reachable)]` (part of `#[warn(refining_impl_trait)]`) on by default
[INFO] [stderr]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/spider_link/99ff6f8b63f77ad7/deps/spider_link-99ff6f8b63f77ad7.long-type-8928878671692463520.txt'
[INFO] [stderr]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stderr] help: replace the return type so that it matches the trait
[INFO] [stderr]     |
[INFO] [stderr] 469 -     async fn read(&mut self) -> Result<LinkProtocol, LinkImplError> {
[INFO] [stderr] 469 +     async fn read(&mut self) -> impl futures::Future<Output = Result<link_set::LinkProtocol, impl StdError + std::marker::Send + Sync + 'static>> + std::marker::Send + Sync {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `spider_client` (lib) generated 1 warning (run `cargo fix --lib -p spider_client` to apply 1 suggestion)
[INFO] [stderr] warning: `spider_link` (lib) generated 20 warnings (run `cargo fix --lib -p spider_link` to apply 11 suggestions)
[INFO] [stderr] warning: `spider_link` (lib test) generated 20 warnings (19 duplicates)
[INFO] [stderr] warning: `spider_client` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: unused imports: `ErrorKind`, `PathBuf`, and `time::Duration`
[INFO] [stderr]   --> spider/src/main.rs:41:16
[INFO] [stderr]    |
[INFO] [stderr] 41 |     io::{self, ErrorKind},
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr] 42 |     path::{Path, PathBuf},
[INFO] [stderr]    |                  ^^^^^^^
[INFO] [stderr] 43 |     time::Duration,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `simple_logger::SimpleLogger`
[INFO] [stderr]   --> spider/src/main.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 46 | use simple_logger::SimpleLogger;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Level` and `error`
[INFO] [stderr]   --> spider/src/main.rs:47:22
[INFO] [stderr]    |
[INFO] [stderr] 47 | use tracing::{debug, error, info, level_filters::LevelFilter, trace, Level};
[INFO] [stderr]    |                      ^^^^^                                           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `RollingFileAppender` and `Rotation`
[INFO] [stderr]   --> spider/src/main.rs:48:33
[INFO] [stderr]    |
[INFO] [stderr] 48 | use tracing_appender::rolling::{RollingFileAppender, Rotation};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ipv4Addr`
[INFO] [stderr]  --> spider/src/processor/mod.rs:2:16
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::net::{Ipv4Addr, SocketAddrV4};
[INFO] [stderr]   |                ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]  --> spider/src/processor/router/mod.rs:2:62
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::{HashMap, HashSet}, net::SocketAddr, path::{Path, PathBuf}, sync::Arc
[INFO] [stderr]   |                                                              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `processor::router::pending::remove_pending_ui_setting`
[INFO] [stderr]   --> spider/src/processor/router/mod.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     processor::router::pending::remove_pending_ui_setting,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `info`
[INFO] [stderr]  --> spider/src/processor/router/pending.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{info, trace};
[INFO] [stderr]   |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `env`
[INFO] [stderr]  --> spider/src/processor/peripherals/utils.rs:1:78
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{path::{PathBuf, Path}, str::FromStr, process::Stdio, io::SeekFrom, env};
[INFO] [stderr]   |                                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Message`
[INFO] [stderr]  --> spider/src/processor/peripherals/utils.rs:6:38
[INFO] [stderr]   |
[INFO] [stderr] 6 | use spider_link::{message::{UiInput, Message}, Keyfile};
[INFO] [stderr]   |                                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> spider/src/error.rs:126:24
[INFO] [stderr]     |
[INFO] [stderr] 126 |     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stderr]     |                        ^                                 ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 126 -     source: Option<Box<(dyn Error + Send + Sync + 'static)>>,
[INFO] [stderr] 126 +     source: Option<Box<dyn Error + Send + Sync + 'static>>,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `links::PinnedLink`
[INFO] [stderr]  --> spider/src/processor/router/pending.rs:8:113
[INFO] [stderr]   |
[INFO] [stderr] 8 | use spider_link::{ Relation, SelfRelation, identified_link::IdentifiedLink, link_set::{LinkSet, LinkSetMessage, links::PinnedLink}, m...
[INFO] [stderr]   |                                                                                                                 ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `links::PinnedLink`
[INFO] [stderr]  --> spider/src/processor/router/mod.rs:9:32
[INFO] [stderr]   |
[INFO] [stderr] 9 |     link_set::{impls::TCPLink, links::PinnedLink, Epoch, LinkSet, LinkSetMessage},
[INFO] [stderr]   |                                ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `self_rel`
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:178:64
[INFO] [stderr]     |
[INFO] [stderr] 178 | ...outerProcessorMessage>, self_rel: SelfRelation, rel: Relation, ui_permits: Arc<Semaphore>) -> Sender<PendingLinkControl> {
[INFO] [stderr]     |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_rel`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]   --> spider/src/processor/ui/settings.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let id = self.state.self_id().await;
[INFO] [stderr]    |             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> spider/src/processor/ui/settings.rs:300:19
[INFO] [stderr]     |
[INFO] [stderr] 300 |             Some((x, list)) => {
[INFO] [stderr]     |                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `child_handle`
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:208:9
[INFO] [stderr]     |
[INFO] [stderr] 208 |     let child_handle = tokio::spawn(async move {
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_child_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sender`
[INFO] [stderr]    --> spider/src/processor/group/mod.rs:131:17
[INFO] [stderr]     |
[INFO] [stderr] 131 |                 sender,
[INFO] [stderr]     |                 ^^^^^^ help: try ignoring the field: `sender: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msg_type`
[INFO] [stderr]    --> spider/src/processor/group/mod.rs:132:17
[INFO] [stderr]     |
[INFO] [stderr] 132 |                 msg_type,
[INFO] [stderr]     |                 ^^^^^^^^ help: try ignoring the field: `msg_type: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> spider/src/processor/group/mod.rs:133:17
[INFO] [stderr]     |
[INFO] [stderr] 133 |                 data,
[INFO] [stderr]     |                 ^^^^ help: try ignoring the field: `data: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `group`
[INFO] [stderr]    --> spider/src/processor/group/mod.rs:135:29
[INFO] [stderr]     |
[INFO] [stderr] 135 |                 if let Some(group) = self.groups.get_mut(&group_id) {
[INFO] [stderr]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_group`
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_veilid_enabled` is never used
[INFO] [stderr]    --> spider/src/config.rs:136:4
[INFO] [stderr]     |
[INFO] [stderr] 136 | fn default_veilid_enabled() -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `config_file` is never used
[INFO] [stderr]   --> spider/src/processor/mod.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 50 | impl ProcessorBuilder {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn config_file(&mut self, config_path: &Path) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `upkeep_interval_handle` is never read
[INFO] [stderr]    --> spider/src/processor/mod.rs:117:5
[INFO] [stderr]     |
[INFO] [stderr] 103 | struct Processor {
[INFO] [stderr]     |        --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 117 |     upkeep_interval_handle: JoinHandle<()>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `sender` is never read
[INFO] [stderr]    --> spider/src/processor/mod.rs:315:5
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct ProcessorHandle {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] 315 |     sender: ProcessorLink,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `send` is never used
[INFO] [stderr]    --> spider/src/processor/mod.rs:320:25
[INFO] [stderr]     |
[INFO] [stderr] 319 | impl ProcessorHandle {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] 320 |     pub(crate) async fn send(&mut self, message: ProcessorMessage) {
[INFO] [stderr]     |                         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `handle` is never read
[INFO] [stderr]   --> spider/src/processor/router/mod.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub(crate) struct RouterProcessor {
[INFO] [stderr]    |                   --------------- field in this struct
[INFO] [stderr] 43 |     sender: Sender<RouterProcessorMessage>,
[INFO] [stderr] 44 |     handle: JoinHandle<()>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `join` is never used
[INFO] [stderr]   --> spider/src/processor/router/mod.rs:66:18
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl RouterProcessor {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_self_property`, `get_system_property`, and `modify_entry` are never used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:87:12
[INFO] [stderr]     |
[INFO] [stderr]  37 | impl Directory {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  87 |     pub fn get_self_property(&self, rel: &Relation, key: &str) -> Option<&String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn get_system_property(&self, rel: &Relation, key: &str) -> Option<&String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 145 |     pub async fn modify_entry(&mut self, rel: &Relation, func: impl FnOnce(&mut DirectoryEntry)) {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SetDirectoryEntry` is never constructed
[INFO] [stderr]   --> spider/src/processor/router/message.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub enum RouterProcessorMessage {
[INFO] [stderr]    |          ---------------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 28 |     SetDirectoryEntry(Relation, String, String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RouterProcessorMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `handle` is never read
[INFO] [stderr]   --> spider/src/processor/ui/mod.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub(crate) struct UiProcessor {
[INFO] [stderr]    |                   ----------- field in this struct
[INFO] [stderr] 23 |     sender: Sender<UiProcessorMessage>,
[INFO] [stderr] 24 |     handle: JoinHandle<()>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `join` is never used
[INFO] [stderr]   --> spider/src/processor/ui/mod.rs:45:18
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl UiProcessor {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> spider/src/processor/ui/mod.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | struct UiProcessorState {
[INFO] [stderr]    |        ---------------- field in this struct
[INFO] [stderr] 51 |     config: SpiderConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `data_mut` is never used
[INFO] [stderr]    --> spider/src/processor/ui/message.rs:115:12
[INFO] [stderr]     |
[INFO] [stderr]  84 | impl<'a> SettingEvent<'a> {
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 115 |     pub fn data_mut(&'a mut self) -> &'a mut String {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `handle` is never read
[INFO] [stderr]   --> spider/src/processor/peripherals/mod.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub(crate) struct PeripheralsProcessor{
[INFO] [stderr]    |                   -------------------- field in this struct
[INFO] [stderr] 27 |     sender: Sender<PeripheralProcessorMessage>,
[INFO] [stderr] 28 |     handle: JoinHandle<()>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `join` is never used
[INFO] [stderr]   --> spider/src/processor/peripherals/mod.rs:51:18
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl PeripheralsProcessor {
[INFO] [stderr]    | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `build` is never read
[INFO] [stderr]   --> spider/src/processor/peripherals/manifest.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct PeripheralManifest{
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] 26 |     #[serde(default)]
[INFO] [stderr] 27 |     build: Option<BuildConfig>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PeripheralManifest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `build` is never used
[INFO] [stderr]   --> spider/src/processor/peripherals/manifest.rs:98:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl PeripheralManifest{
[INFO] [stderr]    | ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 98 |     pub fn build(&self) -> &Option<BuildConfig>{
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `handle` is never read
[INFO] [stderr]   --> spider/src/processor/dataset/mod.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub(crate) struct DatasetProcessor {
[INFO] [stderr]    |                   ---------------- field in this struct
[INFO] [stderr] 35 |     sender: Sender<DatasetProcessorMessage>,
[INFO] [stderr] 36 |     handle: JoinHandle<()>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `join` is never used
[INFO] [stderr]   --> spider/src/processor/dataset/mod.rs:57:18
[INFO] [stderr]    |
[INFO] [stderr] 39 | impl DatasetProcessor {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `state` is never read
[INFO] [stderr]   --> spider/src/processor/dataset/mod.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub(crate) struct DatasetProcessorState {
[INFO] [stderr]    |                   --------------------- field in this struct
[INFO] [stderr] 63 |     config: SpiderConfig,
[INFO] [stderr] 64 |     state: StateData,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `handle` is never read
[INFO] [stderr]   --> spider/src/processor/group/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub(crate) struct GroupProcessor {
[INFO] [stderr]    |                   -------------- field in this struct
[INFO] [stderr] 26 |     sender: Sender<GroupProcessorMessage>,
[INFO] [stderr] 27 |     handle: JoinHandle<()>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `join` is never used
[INFO] [stderr]   --> spider/src/processor/group/mod.rs:48:18
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl GroupProcessor {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub async fn join(self) -> Result<(), JoinError> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_proposals` is never used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:130:12
[INFO] [stderr]     |
[INFO] [stderr]  78 | impl Group {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn get_proposals(&self) -> Vec<Proposal> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `wrap_problem`, `wrap_msg`, and `wrap_problem_msg` are never used
[INFO] [stderr]   --> spider/src/error.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub trait ProblemWrap<T> {
[INFO] [stderr]    |           ----------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 59 |     fn wrap_problem(self, kind: ErrorKind) -> SpiderResult<T>;
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 60 |     /// Wrap self, set the message, return SpiderResult
[INFO] [stderr] 61 |     fn wrap_msg<S: Into<String>>(self, msg: S) -> SpiderResult<T>;
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 62 |     /// Wrap self, set the problem type and message, return SpiderResult
[INFO] [stderr] 63 |     fn wrap_problem_msg<S: Into<String>>(self, kind: ErrorKind, msg: S) -> SpiderResult<T>;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Closed`, `Deserialization`, `Taken`, and `Authentication` are never constructed
[INFO] [stderr]    --> spider/src/error.rs:110:5
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub enum ErrorKind {
[INFO] [stderr]     |          --------- variants in this enum
[INFO] [stderr] 109 |     /// The Spider has closed
[INFO] [stderr] 110 |     Closed,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 111 |     /// There was a problem deserializing some data
[INFO] [stderr] 112 |     Deserialization,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 113 |     /// The receiver has already been taken out of here!
[INFO] [stderr] 114 |     Taken,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 115 |     /// Authentication failure
[INFO] [stderr] 116 |     Authentication,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ErrorKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/main.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pb.state_file(Path::new(&config.state_data_path));
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 109 |     let _ = pb.state_file(Path::new(&config.state_data_path));
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/main.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 125 |     processor_handle.join().await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 125 |     let _ = processor_handle.join().await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/state_data.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 50 |         tokio::fs::write(&*filename, contents).await;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let _ = tokio::fs::write(&*filename, contents).await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:159:17
[INFO] [stderr]     |
[INFO] [stderr] 159 |                 update_channel.send(ProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 159 |                 let _ = update_channel.send(ProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:193:17
[INFO] [stderr]     |
[INFO] [stderr] 193 |                 kf.write_to_file(path).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 193 |                 let _ = kf.write_to_file(path).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:206:13
[INFO] [stderr]     |
[INFO] [stderr] 206 |             self.ui.send(msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 206 |             let _ = self.ui.send(msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:218:13
[INFO] [stderr]     |
[INFO] [stderr] 218 |             self.ui.send(msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 218 |             let _ = self.ui.send(msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:221:13
[INFO] [stderr]     |
[INFO] [stderr] 221 | /             self.ui
[INFO] [stderr] 222 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stderr] 223 | |                     header: "Pending Connections".into(),
[INFO] [stderr] 224 | |                 })
[INFO] [stderr] 225 | |                 .await;
[INFO] [stderr]     | |______________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 221 |             let _ = self.ui
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:226:13
[INFO] [stderr]     |
[INFO] [stderr] 226 | /             self.ui
[INFO] [stderr] 227 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stderr] 228 | |                     header: "Peripheral Services".into(),
[INFO] [stderr] 229 | |                 })
[INFO] [stderr] 230 | |                 .await;
[INFO] [stderr]     | |______________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 226 |             let _ = self.ui
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:231:13
[INFO] [stderr]     |
[INFO] [stderr] 231 | /             self.ui
[INFO] [stderr] 232 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stderr] 233 | |                     header: "Connected Chords".into(),
[INFO] [stderr] 234 | |                 })
[INFO] [stderr] 235 | |                 .await;
[INFO] [stderr]     | |______________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 231 |             let _ = self.ui
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:236:13
[INFO] [stderr]     |
[INFO] [stderr] 236 | /             self.ui
[INFO] [stderr] 237 | |                 .send(UiProcessorMessage::SetSettingHeader {
[INFO] [stderr] 238 | |                     header: "Directory".into(),
[INFO] [stderr] 239 | |                 })
[INFO] [stderr] 240 | |                 .await;
[INFO] [stderr]     | |______________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 236 |             let _ = self.ui
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:264:29
[INFO] [stderr]     |
[INFO] [stderr] 264 | / ...                   self.dataset_processor
[INFO] [stderr] 265 | | ...                       .send(DatasetProcessorMessage::PublicMessage(relation, msg))
[INFO] [stderr] 266 | | ...                       .await;
[INFO] [stderr]     | |________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 264 |                             let _ = self.dataset_processor
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:269:29
[INFO] [stderr]     |
[INFO] [stderr] 269 | / ...                   self.router
[INFO] [stderr] 270 | | ...                       .send(RouterProcessorMessage::PeripheralMessage(relation, msg))
[INFO] [stderr] 271 | | ...                       .await;
[INFO] [stderr]     | |________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 269 |                             let _ = self.router
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:274:29
[INFO] [stderr]     |
[INFO] [stderr] 274 | / ...                   self.group_processor
[INFO] [stderr] 275 | | ...                       .send(GroupProcessorMessage::PublicMessage(relation, msg))
[INFO] [stderr] 276 | | ...                       .await;
[INFO] [stderr]     | |________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 274 |                             let _ = self.group_processor
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:281:25
[INFO] [stderr]     |
[INFO] [stderr] 281 |                         self.router.send(msg).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 281 |                         let _ = self.router.send(msg).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:284:25
[INFO] [stderr]     |
[INFO] [stderr] 284 |                         self.ui.send(msg).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 284 |                         let _ = self.ui.send(msg).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:288:25
[INFO] [stderr]     |
[INFO] [stderr] 288 |                         self.dataset_processor.send(msg).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 288 |                         let _ = self.dataset_processor.send(msg).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:291:25
[INFO] [stderr]     |
[INFO] [stderr] 291 |                         self.peripherals.send(msg).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 291 |                         let _ = self.peripherals.send(msg).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:295:25
[INFO] [stderr]     |
[INFO] [stderr] 295 |                         self.ui.send(UiProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 295 |                         let _ = self.ui.send(UiProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:296:25
[INFO] [stderr]     |
[INFO] [stderr] 296 | /                         self.dataset_processor
[INFO] [stderr] 297 | |                             .send(DatasetProcessorMessage::Upkeep)
[INFO] [stderr] 298 | |                             .await;
[INFO] [stderr]     | |__________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 296 |                         let _ = self.dataset_processor
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:299:25
[INFO] [stderr]     |
[INFO] [stderr] 299 |                         self.router.send(RouterProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 299 |                         let _ = self.router.send(RouterProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:300:25
[INFO] [stderr]     |
[INFO] [stderr] 300 | /                         self.peripherals
[INFO] [stderr] 301 | |                             .send(PeripheralProcessorMessage::Upkeep)
[INFO] [stderr] 302 | |                             .await;
[INFO] [stderr]     | |__________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 300 |                         let _ = self.peripherals
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:303:25
[INFO] [stderr]     |
[INFO] [stderr] 303 |                         self.group_processor.send(GroupProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 303 |                         let _ = self.group_processor.send(GroupProcessorMessage::Upkeep).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/mod.rs:321:9
[INFO] [stderr]     |
[INFO] [stderr] 321 |         self.sender.send(message).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 321 |         let _ = self.sender.send(message).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:131:17
[INFO] [stderr]     |
[INFO] [stderr] 131 | /                 match tcp_listener.recv().await {
[INFO] [stderr] 132 | |                     Some(link) => task_tx.send(Box::new(link)).await,
[INFO] [stderr] 133 | |                     None => break,
[INFO] [stderr] 134 | |                 };
[INFO] [stderr]     | |_________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 131 |                 let _ = match tcp_listener.recv().await {
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:178:33
[INFO] [stderr]     |
[INFO] [stderr] 178 | ...                   self.insert_link(link).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 178 |                                 let _ = self.insert_link(link).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:185:25
[INFO] [stderr]     |
[INFO] [stderr] 185 |                         self.process_message(msg).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 185 |                         let _ = self.process_message(msg).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:214:9
[INFO] [stderr]     |
[INFO] [stderr] 214 |         self.pl.send_ui(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 214 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:227:17
[INFO] [stderr]     |
[INFO] [stderr] 227 |                 link_set.add_link(link).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 227 |                 let _ = link_set.add_link(link).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:229:17
[INFO] [stderr]     |
[INFO] [stderr] 229 |                 create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 229 |                 let _ = create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:287:17
[INFO] [stderr]     |
[INFO] [stderr] 287 |                 self.send_msg(rel, msg).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 287 |                 let _ = self.send_msg(rel, msg).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:290:17
[INFO] [stderr]     |
[INFO] [stderr] 290 |                 self.multicast_msg(rels, msg).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 290 |                 let _ = self.multicast_msg(rels, msg).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:327:17
[INFO] [stderr]     |
[INFO] [stderr] 327 |                 self.pl.send_ui(msg).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 327 |                 let _ = self.pl.send_ui(msg).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:333:21
[INFO] [stderr]     |
[INFO] [stderr] 333 |                     link.send(msg).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 333 |                     let _ = link.send(msg).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:433:17
[INFO] [stderr]     |
[INFO] [stderr] 433 |                 self.handle_invite(invite).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 433 |                 let _ = self.handle_invite(invite).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:453:9
[INFO] [stderr]     |
[INFO] [stderr] 453 |         link_set.send(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 453 |         let _ = link_set.send(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:456:9
[INFO] [stderr]     |
[INFO] [stderr] 456 |         self.directory.add_identity(&relation).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 456 |         let _ = self.directory.add_identity(&relation).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:460:13
[INFO] [stderr]     |
[INFO] [stderr] 460 | /             self.sender
[INFO] [stderr] 461 | |                 .send(RouterProcessorMessage::UnapprovedMessage(
[INFO] [stderr] 462 | |                     relation.clone(),
[INFO] [stderr] 463 | |                     msg,
[INFO] [stderr] 464 | |                 ))
[INFO] [stderr] 465 | |                 .await;
[INFO] [stderr]     | |______________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 460 |             let _ = self.sender
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:468:9
[INFO] [stderr]     |
[INFO] [stderr] 468 |         create_link_set_recv_task(relation.clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 468 |         let _ = create_link_set_recv_task(relation.clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:473:9
[INFO] [stderr]     |
[INFO] [stderr] 473 |         link_set.send(Message::Router(msg)).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 473 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:478:9
[INFO] [stderr]     |
[INFO] [stderr] 478 |         link_set.send(Message::Router(msg)).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 478 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:496:13
[INFO] [stderr]     |
[INFO] [stderr] 496 |             create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 496 |             let _ = create_link_set_recv_task(rel.clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:527:21
[INFO] [stderr]     |
[INFO] [stderr] 527 |                     link.send(msg.clone()).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 527 |                     let _ = link.send(msg.clone()).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:534:21
[INFO] [stderr]     |
[INFO] [stderr] 534 |                     link.send(msg.clone()).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 534 |                     let _ = link.send(msg.clone()).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:539:21
[INFO] [stderr]     |
[INFO] [stderr] 539 |                     link.send(msg.clone()).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 539 |                     let _ = link.send(msg.clone()).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:552:13
[INFO] [stderr]     |
[INFO] [stderr] 552 |             create_link_set_recv_task(invite.rel().clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 552 |             let _ = create_link_set_recv_task(invite.rel().clone(), &mut link_set, self.sender.clone());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:564:13
[INFO] [stderr]     |
[INFO] [stderr] 564 |             link_set.add_addr(addr.clone()).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 564 |             let _ = link_set.add_addr(addr.clone()).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:576:9
[INFO] [stderr]     |
[INFO] [stderr] 576 |         link_set.connect().await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 576 |         let _ = link_set.connect().await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:580:9
[INFO] [stderr]     |
[INFO] [stderr] 580 |         link_set.send(Message::Router(msg)).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 580 |         let _ = link_set.send(Message::Router(msg)).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:587:9
[INFO] [stderr]     |
[INFO] [stderr] 587 |         link_set.send(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 587 |         let _ = link_set.send(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:592:9
[INFO] [stderr]     |
[INFO] [stderr] 592 |         link_set.send(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 592 |         let _ = link_set.send(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:647:9
[INFO] [stderr]     |
[INFO] [stderr] 647 |         self.pl.send_ui(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 647 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:652:13
[INFO] [stderr]     |
[INFO] [stderr] 652 |             self.send_msg(rel, msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 652 |             let _ = self.send_msg(rel, msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/mod.rs:666:9
[INFO] [stderr]     |
[INFO] [stderr] 666 |         self.pl.send_ui(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 666 |         let _ = self.pl.send_ui(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/pending.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |             pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 55 |             let _ = pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/pending.rs:64:13
[INFO] [stderr]    |
[INFO] [stderr] 64 |             pending.send(PendingLinkControl::RevokeCode(code.clone())).await;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 64 |             let _ = pending.send(PendingLinkControl::RevokeCode(code.clone())).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/pending.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |             pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 75 |             let _ = pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/pending.rs:86:17
[INFO] [stderr]    |
[INFO] [stderr] 86 |                 pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 86 |                 let _ = pending.send(PendingLinkControl::AddCode(code.clone())).await;
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/pending.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |             pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 89 |             let _ = pending.send(PendingLinkControl::AddLink(link)).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/pending.rs:98:13
[INFO] [stderr]    |
[INFO] [stderr] 98 |             pending.send(PendingLinkControl::Approve).await;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 98 |             let _ = pending.send(PendingLinkControl::Approve).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 |             pending.send(PendingLinkControl::Deny).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 106 |             let _ = pending.send(PendingLinkControl::Deny).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     pl.send_ui(msg).await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 153 |     let _ = pl.send_ui(msg).await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:163:5
[INFO] [stderr]     |
[INFO] [stderr] 163 |     pl.send_ui(msg).await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 163 |     let _ = pl.send_ui(msg).await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:183:9
[INFO] [stderr]     |
[INFO] [stderr] 183 |         link_set.set_grace_period_timeout(Some(Duration::from_secs(30))).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 183 |         let _ = link_set.set_grace_period_timeout(Some(Duration::from_secs(30))).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:198:29
[INFO] [stderr]     |
[INFO] [stderr] 198 | ...                   sender.send(msg).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 198 |                             let _ = sender.send(msg).await;
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:209:37
[INFO] [stderr]     |
[INFO] [stderr] 209 | ...                   sender.send(msg).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 209 |                                     let _ = sender.send(msg).await;
[INFO] [stderr]     |                                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:222:29
[INFO] [stderr]     |
[INFO] [stderr] 222 | ...                   link_set.add_link(link).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 222 |                             let _ = link_set.add_link(link).await;
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:233:29
[INFO] [stderr]     |
[INFO] [stderr] 233 | ...                   link_set.send(Message::Router(RouterMessage::Pending)).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 233 |                             let _ = link_set.send(Message::Router(RouterMessage::Pending)).await;
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:244:37
[INFO] [stderr]     |
[INFO] [stderr] 244 | ...                   sender.send(msg).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 244 |                                     let _ = sender.send(msg).await;
[INFO] [stderr]     |                                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:266:41
[INFO] [stderr]     |
[INFO] [stderr] 266 | ...                   sender.send(msg).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 266 |                                         let _ = sender.send(msg).await;
[INFO] [stderr]     |                                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:287:21
[INFO] [stderr]     |
[INFO] [stderr] 287 |                     sender.send(msg).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 287 |                     let _ = sender.send(msg).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/pending.rs:294:9
[INFO] [stderr]     |
[INFO] [stderr] 294 |         sender.send(RouterProcessorMessage::DenyConnection(rel.clone())).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 294 |         let _ = sender.send(RouterProcessorMessage::DenyConnection(rel.clone())).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/directory.rs:82:13
[INFO] [stderr]    |
[INFO] [stderr] 82 |             self.message_subscribers(msg).await;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 82 |             let _ = self.message_subscribers(msg).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:129:9
[INFO] [stderr]     |
[INFO] [stderr] 129 |         self.message_subscribers(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let _ = self.message_subscribers(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:151:13
[INFO] [stderr]     |
[INFO] [stderr] 151 |             self.message_subscribers(msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 151 |             let _ = self.message_subscribers(msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:157:9
[INFO] [stderr]     |
[INFO] [stderr] 157 |         self.add_identity(rel).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 157 |         let _ = self.add_identity(rel).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:163:13
[INFO] [stderr]     |
[INFO] [stderr] 163 |             self.message_subscribers(msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 163 |             let _ = self.message_subscribers(msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:200:9
[INFO] [stderr]     |
[INFO] [stderr] 200 |         self.message_subscribers(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 200 |         let _ = self.message_subscribers(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:209:9
[INFO] [stderr]     |
[INFO] [stderr] 209 |         self.message_subscribers(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 209 |         let _ = self.message_subscribers(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:221:13
[INFO] [stderr]     |
[INFO] [stderr] 221 |             self.pl.send_message(rel.clone(), msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 221 |             let _ = self.pl.send_message(rel.clone(), msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:232:13
[INFO] [stderr]     |
[INFO] [stderr] 232 |             self.pl.send_message(subscriber.clone(), msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 232 |             let _ = self.pl.send_message(subscriber.clone(), msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:292:5
[INFO] [stderr]     |
[INFO] [stderr] 292 |     pl.send_ui(msg).await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 292 |     let _ = pl.send_ui(msg).await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/router/directory.rs:303:5
[INFO] [stderr]     |
[INFO] [stderr] 303 |     pl.send_ui(msg).await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 303 |     let _ = pl.send_ui(msg).await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/event.rs:23:13
[INFO] [stderr]    |
[INFO] [stderr] 23 |             self.send_msg(external, msg).await;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 23 |             let _ = self.send_msg(external, msg).await;
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/router/event.rs:55:21
[INFO] [stderr]    |
[INFO] [stderr] 55 |                     link.send(msg).await;
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 55 |                     let _ = link.send(msg).await;
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/mod.rs:147:17
[INFO] [stderr]     |
[INFO] [stderr] 147 |                 self.sender.send_message(rel.clone(), msg).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 147 |                 let _ = self.sender.send_message(rel.clone(), msg).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/mod.rs:151:21
[INFO] [stderr]     |
[INFO] [stderr] 151 |                     self.sender.send_dataset(msg).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 151 |                     let _ = self.sender.send_dataset(msg).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/mod.rs:158:21
[INFO] [stderr]     |
[INFO] [stderr] 158 |                     self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 158 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/mod.rs:176:21
[INFO] [stderr]     |
[INFO] [stderr] 176 |                     self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 176 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/mod.rs:230:9
[INFO] [stderr]     |
[INFO] [stderr] 230 |         self.sender.multicast_message(subscribers, msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 230 |         let _ = self.sender.multicast_message(subscribers, msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/mod.rs:245:21
[INFO] [stderr]     |
[INFO] [stderr] 245 |                     self.sender.send_dataset(DatasetProcessorMessage::UiUnsubscribe(path.clone())).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 245 |                     let _ = self.sender.send_dataset(DatasetProcessorMessage::UiUnsubscribe(path.clone())).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/mod.rs:254:21
[INFO] [stderr]     |
[INFO] [stderr] 254 |                     self.sender.send_dataset(DatasetProcessorMessage::UiSubscribe(path.clone())).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 254 |                     let _ = self.sender.send_dataset(DatasetProcessorMessage::UiSubscribe(path.clone())).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/ui/settings.rs:93:25
[INFO] [stderr]    |
[INFO] [stderr] 93 |                         self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 93 |                         let _ = self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stderr]    |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/settings.rs:101:25
[INFO] [stderr]     |
[INFO] [stderr] 101 | /                         self.sender
[INFO] [stderr] 102 | |                             .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stderr] 103 | |                                 rel,
[INFO] [stderr] 104 | |                                 DatasetMessage::Append {
[INFO] [stderr] ...   |
[INFO] [stderr] 108 | |                             ))
[INFO] [stderr] 109 | |                             .await;
[INFO] [stderr]     | |__________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 101 |                         let _ = self.sender
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/settings.rs:121:17
[INFO] [stderr]     |
[INFO] [stderr] 121 | /                 self.sender
[INFO] [stderr] 122 | |                     .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stderr] 123 | |                         rel,
[INFO] [stderr] 124 | |                         DatasetMessage::Append {
[INFO] [stderr] ...   |
[INFO] [stderr] 128 | |                     ))
[INFO] [stderr] 129 | |                     .await;
[INFO] [stderr]     | |__________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 121 |                 let _ = self.sender
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/settings.rs:230:17
[INFO] [stderr]     |
[INFO] [stderr] 230 | /                 self.sender
[INFO] [stderr] 231 | |                     .send_dataset(DatasetProcessorMessage::PublicMessage(
[INFO] [stderr] 232 | |                         rel,
[INFO] [stderr] 233 | |                         DatasetMessage::Empty {
[INFO] [stderr] ...   |
[INFO] [stderr] 236 | |                     ))
[INFO] [stderr] 237 | |                     .await;
[INFO] [stderr]     | |__________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 230 |                 let _ = self.sender
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/settings.rs:271:25
[INFO] [stderr]     |
[INFO] [stderr] 271 |                         self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 271 |                         let _ = self.sender.send_dataset(dataset_processor_message).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/ui/settings.rs:307:29
[INFO] [stderr]     |
[INFO] [stderr] 307 | ...                   self.sender.send(msg).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 307 |                             let _ = self.sender.send(msg).await;
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/mod.rs:127:9
[INFO] [stderr]     |
[INFO] [stderr] 127 |         self.sender.send_ui(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 127 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/mod.rs:233:13
[INFO] [stderr]     |
[INFO] [stderr] 233 |             child.kill().await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 233 |             let _ = child.kill().await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/mod.rs:254:13
[INFO] [stderr]     |
[INFO] [stderr] 254 |             child.kill().await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 254 |             let _ = child.kill().await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/mod.rs:258:9
[INFO] [stderr]     |
[INFO] [stderr] 258 |         remove_dir_all(path).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 258 |         let _ = remove_dir_all(path).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/mod.rs:265:9
[INFO] [stderr]     |
[INFO] [stderr] 265 |         self.sender.send_ui(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 265 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/peripherals/utils.rs:57:9
[INFO] [stderr]    |
[INFO] [stderr] 57 |         Keyfile::write_new(path, id, Some(permission_code.clone())).await;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let _ = Keyfile::write_new(path, id, Some(permission_code.clone())).await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/peripherals/utils.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         self.sender.send(msg).await;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 61 |         let _ = self.sender.send(msg).await;
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |         self.sender.send_ui(msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 110 |         let _ = self.sender.send_ui(msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:220:29
[INFO] [stderr]     |
[INFO] [stderr] 220 | ...                   stdout_file.write(&outbuf[..count]).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 220 |                             let _ = stdout_file.write(&outbuf[..count]).await;
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:225:33
[INFO] [stderr]     |
[INFO] [stderr] 225 | ...                   stdout_file.read_to_string(&mut rotate_buf).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 225 |                                 let _ = stdout_file.read_to_string(&mut rotate_buf).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:231:33
[INFO] [stderr]     |
[INFO] [stderr] 231 | ...                   stdout_file.seek(SeekFrom::Start(0)).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 231 |                                 let _ = stdout_file.seek(SeekFrom::Start(0)).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:233:33
[INFO] [stderr]     |
[INFO] [stderr] 233 | ...                   stdout_file.write_all(bytes).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 233 |                                 let _ = stdout_file.write_all(bytes).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:234:33
[INFO] [stderr]     |
[INFO] [stderr] 234 | ...                   stdout_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 234 |                                 let _ = stdout_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:235:33
[INFO] [stderr]     |
[INFO] [stderr] 235 | ...                   stdout_file.flush().await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 235 |                                 let _ = stdout_file.flush().await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:248:29
[INFO] [stderr]     |
[INFO] [stderr] 248 | ...                   stderr_file.write(&errbuf[..count]).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 248 |                             let _ = stderr_file.write(&errbuf[..count]).await;
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:253:33
[INFO] [stderr]     |
[INFO] [stderr] 253 | ...                   stderr_file.read_to_string(&mut rotate_buf).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 253 |                                 let _ = stderr_file.read_to_string(&mut rotate_buf).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:259:33
[INFO] [stderr]     |
[INFO] [stderr] 259 | ...                   stderr_file.seek(SeekFrom::Start(0)).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 259 |                                 let _ = stderr_file.seek(SeekFrom::Start(0)).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:261:33
[INFO] [stderr]     |
[INFO] [stderr] 261 | ...                   stderr_file.write_all(bytes).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 261 |                                 let _ = stderr_file.write_all(bytes).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:262:33
[INFO] [stderr]     |
[INFO] [stderr] 262 | ...                   stderr_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 262 |                                 let _ = stderr_file.set_len(bytes.len().try_into().unwrap()).await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/peripherals/utils.rs:263:33
[INFO] [stderr]     |
[INFO] [stderr] 263 | ...                   stderr_file.flush().await;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 263 |                                 let _ = stderr_file.flush().await;
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:113:29
[INFO] [stderr]     |
[INFO] [stderr] 113 | / ...                   self.sender
[INFO] [stderr] 114 | | ...                       .send_ui(UiProcessorMessage::DatasetUpdate(k, dataset))
[INFO] [stderr] 115 | | ...                       .await;
[INFO] [stderr]     | |________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 113 |                             let _ = self.sender
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:137:25
[INFO] [stderr]     |
[INFO] [stderr] 137 |                         self.sender.send_message(relation, msg).await;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 137 |                         let _ = self.sender.send_message(relation, msg).await;
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:170:17
[INFO] [stderr]     |
[INFO] [stderr] 170 |                 self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 170 |                 let _ = self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:268:29
[INFO] [stderr]     |
[INFO] [stderr] 268 | / ...                   self.sender
[INFO] [stderr] 269 | | ...                       .send_ui(UiProcessorMessage::DatasetUpdate(
[INFO] [stderr] 270 | | ...                           path.clone(),
[INFO] [stderr] 271 | | ...                           dataset.clone(),
[INFO] [stderr] 272 | | ...                       ))
[INFO] [stderr] 273 | | ...                       .await;
[INFO] [stderr]     | |________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 268 |                             let _ = self.sender
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:288:17
[INFO] [stderr]     |
[INFO] [stderr] 288 | /                 self.sender
[INFO] [stderr] 289 | |                     .multicast_message(peripheral_list, message)
[INFO] [stderr] 290 | |                     .await;
[INFO] [stderr]     | |__________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 288 |                 let _ = self.sender
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:325:5
[INFO] [stderr]     |
[INFO] [stderr] 325 |     file.read_to_string(&mut data).await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 325 |     let _ = file.read_to_string(&mut data).await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:345:5
[INFO] [stderr]     |
[INFO] [stderr] 345 |     file.write_all(data.as_bytes()).await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 345 |     let _ = file.write_all(data.as_bytes()).await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/dataset/mod.rs:346:5
[INFO] [stderr]     |
[INFO] [stderr] 346 |     file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 346 |     let _ = file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> spider/src/processor/group/mod.rs:89:17
[INFO] [stderr]    |
[INFO] [stderr] 89 |                 create_dir(&group_path).await;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 89 |                 let _ = create_dir(&group_path).await;
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/mod.rs:250:21
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     let _ = self.sender.send_message(rel, msg).await;
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/mod.rs:271:17
[INFO] [stderr]     |
[INFO] [stderr] 271 |                 self.sender.multicast_message(rels.clone(), msg).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 271 |                 let _ = self.sender.multicast_message(rels.clone(), msg).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |         create_dir_all(path.parent().unwrap()).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 114 |         let _ = create_dir_all(path.parent().unwrap()).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:192:9
[INFO] [stderr]     |
[INFO] [stderr] 192 |         pl.somecast_message(rels, self.somecast_qty(), msg).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 192 |         let _ = pl.somecast_message(rels, self.somecast_qty(), msg).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:217:13
[INFO] [stderr]     |
[INFO] [stderr] 217 |             sender.send_message(rel, Message::Group(msg)).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 217 |             let _ = sender.send_message(rel, Message::Group(msg)).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:237:13
[INFO] [stderr]     |
[INFO] [stderr] 237 |             sender.send_message(rel.clone(), msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 237 |             let _ = sender.send_message(rel.clone(), msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:254:13
[INFO] [stderr]     |
[INFO] [stderr] 254 |             sender.send_message(rel, msg).await;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 254 |             let _ = sender.send_message(rel, msg).await;
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:529:17
[INFO] [stderr]     |
[INFO] [stderr] 529 |                 pl.send_message(rel, msg).await;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 529 |                 let _ = pl.send_message(rel, msg).await;
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:650:9
[INFO] [stderr]     |
[INFO] [stderr] 650 |         file.read_to_string(&mut data).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 650 |         let _ = file.read_to_string(&mut data).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:678:9
[INFO] [stderr]     |
[INFO] [stderr] 678 |         file.write_all(data.as_bytes()).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 678 |         let _ = file.write_all(data.as_bytes()).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> spider/src/processor/group/group.rs:679:9
[INFO] [stderr]     |
[INFO] [stderr] 679 |         file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 679 |         let _ = file.set_len(data.len().try_into().unwrap()).await;
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `spider` (bin "spider" test) generated 184 warnings (run `cargo fix --bin "spider" -p spider --tests` to apply 19 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/spider/5c63ee1468d7157f/deps/spider-5c63ee1468d7157f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/spider_client/e4da704eefc4a923/deps/spider_client-e4da704eefc4a923)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/connection.rs (/opt/rustwide/target/debug/build/spider_client/0d47c55889bb0c62/deps/connection-0d47c55889bb0c62)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test connect ... ok
[INFO] [stdout] test beacon_connect ... ok
[INFO] [stdout] test client_round_trip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.66s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/spider_link/99ff6f8b63f77ad7/deps/spider_link-99ff6f8b63f77ad7)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test link_set_impls::tcp_link::tests::key_request_fail ... ok
[INFO] [stdout] test link_set_impls::tcp_link::tests::send_introduction_test ... ok
[INFO] [stdout] test link_set_impls::tcp_link::tests::key_request_pass ... FAILED
[INFO] [stdout] test link_set_impls::tcp_link::tests::send_stream_init_test ... ok
[INFO] [stdout] test link_set_impls::tcp_link::tests::listen_connect_test ... FAILED
[INFO] [stdout] test relation::tests::check_debug_keys ... ok
[INFO] [stdout] test relation::tests::sig_len ... ok
[INFO] [stderr] error: test failed, to rerun pass `-p spider_link --lib`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- link_set_impls::tcp_link::tests::key_request_pass stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'link_set_impls::tcp_link::tests::key_request_pass' (32) panicked at spider_link/src/link_set_impls/tcp_link.rs:671:78:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x602f2da3b5d2 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x602f2da3b5d2 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x602f2da3b5d2 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x602f2da3b5d2 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x602f2da5227a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x602f2da5227a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x602f2da40a66 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x602f2da40a66 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x602f2da18caf - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x602f2da18caf - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x602f2da33259 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x602f2d81815e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x602f2d81815e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x602f2da334c2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x602f2da334c2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x602f2da18d9a - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x602f2da10689 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x602f2da19d8d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x602f2da529ec - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x602f2da529b2 - core[8f93d80df273fe75]::panicking::panic
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x602f2da526d9 - core[8f93d80df273fe75]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x602f2d7b5128 - <core[8f93d80df273fe75]::option::Option<spider_link[6b8946828e2af90e]::message::KeyRequest>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x602f2d7b5128 - spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::key_request_pass::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/spider_link/src/link_set_impls/tcp_link.rs:671:78
[INFO] [stdout]   23:     0x602f2d7a9322 - <core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>> as core[8f93d80df273fe75]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x602f2d7a939d - <core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>> as core[8f93d80df273fe75]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/future/future.rs:133:9
[INFO] [stdout]   25:     0x602f2d7e892d - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:73
[INFO] [stdout]   26:     0x602f2d7e882b - tokio[2ad34eabd448b3dd]::runtime::coop::with_budget::<core[8f93d80df273fe75]::task::poll::Poll<()>, <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:107:5
[INFO] [stdout]   27:     0x602f2d7e882b - tokio[2ad34eabd448b3dd]::runtime::coop::budget::<core[8f93d80df273fe75]::task::poll::Poll<()>, <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:73:5
[INFO] [stdout]   28:     0x602f2d7e882b - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:25
[INFO] [stdout]   29:     0x602f2d7e2180 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Context>::enter::<core[8f93d80df273fe75]::task::poll::Poll<()>, <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:428:19
[INFO] [stdout]   30:     0x602f2d7e74f0 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:728:44
[INFO] [stdout]   31:     0x602f2d7e67d4 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:68
[INFO] [stdout]   32:     0x602f2d7b1bcb - <tokio[2ad34eabd448b3dd]::runtime::context::scoped::Scoped<tokio[2ad34eabd448b3dd]::runtime::scheduler::Context>>::set::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   33:     0x602f2d7acd19 - tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler::<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:38
[INFO] [stdout]   34:     0x602f2d7f07f2 - <std[840933623431fd06]::thread::local::LocalKey<tokio[2ad34eabd448b3dd]::runtime::context::Context>>::try_with::<tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   35:     0x602f2d7f037e - <std[840933623431fd06]::thread::local::LocalKey<tokio[2ad34eabd448b3dd]::runtime::context::Context>>::with::<tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   36:     0x602f2d7ab77d - tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler::<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:17
[INFO] [stdout]   37:     0x602f2d7e4d00 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:27
[INFO] [stdout]   38:     0x602f2d7e4ff6 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:716:24
[INFO] [stdout]   39:     0x602f2d7e62e3 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:196:33
[INFO] [stdout]   40:     0x602f2d7e5613 - tokio[2ad34eabd448b3dd]::runtime::context::runtime::enter_runtime::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   41:     0x602f2d7e1cb1 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:184:9
[INFO] [stdout]   42:     0x602f2d7d9eb4 - <tokio[2ad34eabd448b3dd]::runtime::runtime::Runtime>::block_on_inner::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   43:     0x602f2d7da077 - <tokio[2ad34eabd448b3dd]::runtime::runtime::Runtime>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   44:     0x602f2d7b9861 - spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::key_request_pass
[INFO] [stdout]                                at /opt/rustwide/workdir/spider_link/src/link_set_impls/tcp_link.rs:674:66
[INFO] [stdout]   45:     0x602f2d7b4897 - spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::key_request_pass::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/spider_link/src/link_set_impls/tcp_link.rs:664:32
[INFO] [stdout]   46:     0x602f2d78c066 - <spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::key_request_pass::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x602f2d80c50b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x602f2d80c50b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   49:     0x602f2d818d6a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   50:     0x602f2d818d6a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   51:     0x602f2d818d6a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   52:     0x602f2d818d6a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   53:     0x602f2d818d6a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   54:     0x602f2d818d6a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   55:     0x602f2d818d6a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   56:     0x602f2d813234 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   57:     0x602f2d813234 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   58:     0x602f2d81b862 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   59:     0x602f2d81b862 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   60:     0x602f2d81b862 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   61:     0x602f2d81b862 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   62:     0x602f2d81b862 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   63:     0x602f2d81b862 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   64:     0x602f2d81b862 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   65:     0x602f2da3ae3f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   66:     0x602f2da3ae3f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   67:     0x710d99456aa4 - <unknown>
[INFO] [stdout]   68:     0x710d994e3a64 - clone
[INFO] [stdout]   69:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- link_set_impls::tcp_link::tests::listen_connect_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'link_set_impls::tcp_link::tests::listen_connect_test' (33) panicked at spider_link/src/link_set_impls/tcp_link.rs:644:18:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: LinkError { kind: Misc, msg: None, source: Some(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" }) }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x602f2da3b5d2 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x602f2da3b5d2 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x602f2da3b5d2 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x602f2da3b5d2 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x602f2da5227a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x602f2da5227a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x602f2da40a66 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x602f2da40a66 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x602f2da18caf - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x602f2da18caf - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x602f2da33259 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x602f2d81815e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x602f2d81815e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x602f2da334c2 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x602f2da334c2 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x602f2da18d68 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x602f2da10689 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x602f2da19d8d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x602f2da529ec - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x602f2da52732 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x602f2d7b5784 - <core[8f93d80df273fe75]::result::Result<spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::TCPLink, spider_link[6b8946828e2af90e]::error::LinkError>>::unwrap
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x602f2d7b5784 - spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::listen_connect_test::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/spider_link/src/link_set_impls/tcp_link.rs:644:18
[INFO] [stdout]   22:     0x602f2d7a9322 - <core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>> as core[8f93d80df273fe75]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x602f2d7a939d - <core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>> as core[8f93d80df273fe75]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x602f2d7e892d - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:73
[INFO] [stdout]   25:     0x602f2d7e882b - tokio[2ad34eabd448b3dd]::runtime::coop::with_budget::<core[8f93d80df273fe75]::task::poll::Poll<()>, <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:107:5
[INFO] [stdout]   26:     0x602f2d7e882b - tokio[2ad34eabd448b3dd]::runtime::coop::budget::<core[8f93d80df273fe75]::task::poll::Poll<()>, <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:73:5
[INFO] [stdout]   27:     0x602f2d7e882b - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:25
[INFO] [stdout]   28:     0x602f2d7e2180 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Context>::enter::<core[8f93d80df273fe75]::task::poll::Poll<()>, <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:428:19
[INFO] [stdout]   29:     0x602f2d7e74f0 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:728:44
[INFO] [stdout]   30:     0x602f2d7e67d4 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:68
[INFO] [stdout]   31:     0x602f2d7b1bcb - <tokio[2ad34eabd448b3dd]::runtime::context::scoped::Scoped<tokio[2ad34eabd448b3dd]::runtime::scheduler::Context>>::set::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x602f2d7acd19 - tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler::<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:38
[INFO] [stdout]   33:     0x602f2d7f07f2 - <std[840933623431fd06]::thread::local::LocalKey<tokio[2ad34eabd448b3dd]::runtime::context::Context>>::try_with::<tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x602f2d7f037e - <std[840933623431fd06]::thread::local::LocalKey<tokio[2ad34eabd448b3dd]::runtime::context::Context>>::with::<tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x602f2d7ab77d - tokio[2ad34eabd448b3dd]::runtime::context::set_scheduler::<(alloc[40b2bae28975ac47]::boxed::Box<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::Core>, core[8f93d80df273fe75]::option::Option<()>), <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:17
[INFO] [stdout]   36:     0x602f2d7e4d00 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>::{closure#0}, core[8f93d80df273fe75]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:27
[INFO] [stdout]   37:     0x602f2d7e4ff6 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:716:24
[INFO] [stdout]   38:     0x602f2d7e62e3 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:196:33
[INFO] [stdout]   39:     0x602f2d7e5613 - tokio[2ad34eabd448b3dd]::runtime::context::runtime::enter_runtime::<<tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x602f2d7e1cb1 - <tokio[2ad34eabd448b3dd]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:184:9
[INFO] [stdout]   41:     0x602f2d7d9eb4 - <tokio[2ad34eabd448b3dd]::runtime::runtime::Runtime>::block_on_inner::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   42:     0x602f2d7da077 - <tokio[2ad34eabd448b3dd]::runtime::runtime::Runtime>::block_on::<core[8f93d80df273fe75]::pin::Pin<&mut dyn core[8f93d80df273fe75]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   43:     0x602f2d7b9a3f - spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::listen_connect_test
[INFO] [stdout]                                at /opt/rustwide/workdir/spider_link/src/link_set_impls/tcp_link.rs:660:35
[INFO] [stdout]   44:     0x602f2d7b48c7 - spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::listen_connect_test::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/spider_link/src/link_set_impls/tcp_link.rs:635:35
[INFO] [stdout]   45:     0x602f2d78c0a6 - <spider_link[6b8946828e2af90e]::link_set_impls::tcp_link::tests::listen_connect_test::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x602f2d80c50b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x602f2d80c50b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   48:     0x602f2d818d6a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   49:     0x602f2d818d6a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   50:     0x602f2d818d6a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x602f2d818d6a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x602f2d818d6a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x602f2d818d6a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   54:     0x602f2d818d6a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   55:     0x602f2d813234 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   56:     0x602f2d813234 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x602f2d81b862 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   58:     0x602f2d81b862 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   59:     0x602f2d81b862 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x602f2d81b862 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x602f2d81b862 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x602f2d81b862 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   63:     0x602f2d81b862 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x602f2da3ae3f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   65:     0x602f2da3ae3f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   66:     0x710d99456aa4 - <unknown>
[INFO] [stdout]   67:     0x710d994e3a64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     link_set_impls::tcp_link::tests::key_request_pass
[INFO] [stdout]     link_set_impls::tcp_link::tests::listen_connect_test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 5 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.20s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e218159a523265c1a6c9e46f21a67e7c9bbc5c50f370c87fccb93747d11f7db3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e218159a523265c1a6c9e46f21a67e7c9bbc5c50f370c87fccb93747d11f7db3", kill_on_drop: false }`
[INFO] [stdout] e218159a523265c1a6c9e46f21a67e7c9bbc5c50f370c87fccb93747d11f7db3
