[INFO] cloning repository https://github.com/clpi/cpr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/clpi/cpr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclpi%2Fcpr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclpi%2Fcpr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] efaca3a9444a8042070bbe6108918f07996c1412
[INFO] checking clpi/cpr against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclpi%2Fcpr" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/clpi/cpr
[INFO] finished tweaking git repo https://github.com/clpi/cpr
[INFO] tweaked toml for git repo https://github.com/clpi/cpr written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/clpi/cpr on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/clpi/cpr 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.160
[INFO] [stderr]   Downloaded serde v1.0.160
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 575ba486abe0301e3b7ef17ac7de18b4abba1aea012305b592f561ae6c79337a
[INFO] running `Command { std: "docker" "start" "-a" "575ba486abe0301e3b7ef17ac7de18b4abba1aea012305b592f561ae6c79337a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "575ba486abe0301e3b7ef17ac7de18b4abba1aea012305b592f561ae6c79337a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "575ba486abe0301e3b7ef17ac7de18b4abba1aea012305b592f561ae6c79337a", kill_on_drop: false }`
[INFO] [stdout] 575ba486abe0301e3b7ef17ac7de18b4abba1aea012305b592f561ae6c79337a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 266cd15cc8a90b8d92a3e4baab696f3c52d60143510ce484e477c883ea9c86e6
[INFO] running `Command { std: "docker" "start" "-a" "266cd15cc8a90b8d92a3e4baab696f3c52d60143510ce484e477c883ea9c86e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling crossbeam-utils v0.8.15
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.14
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling tokio v1.27.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling anyhow v1.0.70
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]     Checking either v1.8.1
[INFO] [stderr]     Checking cpr-core v0.1.0 (/opt/rustwide/workdir/crates/cpr-core)
[INFO] [stderr]     Checking cpr-derive v0.1.0 (/opt/rustwide/workdir/crates/cpr-derive)
[INFO] [stderr]     Checking cpr-rt v0.1.0 (/opt/rustwide/workdir/crates/cpr-rt)
[INFO] [stderr]     Checking cpr-vm v0.1.0 (/opt/rustwide/workdir/crates/cpr-vm)
[INFO] [stderr]     Checking cpr-cli v0.1.0 (/opt/rustwide/workdir/crates/cpr-cli)
[INFO] [stderr]     Checking cpr-store v0.1.0 (/opt/rustwide/workdir/crates/cpr-store)
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking getrandom v0.2.9
[INFO] [stderr]     Checking mio v0.8.6
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]    Compiling tokio-macros v2.0.0
[INFO] [stderr]     Checking tokio-util v0.7.7
[INFO] [stderr]     Checking petgraph v0.6.3
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking cpr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Balance`
[INFO] [stdout]  --> src/federation/id.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{models::{HasIdentifier, Balance, ident::Id}, Federation};
[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: `RngCore`, `Rng`, and `distributions::Alphanumeric`
[INFO] [stdout]  --> src/federation/id.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{distributions::Alphanumeric, Rng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/federation/id.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`, and `mem::discriminant`
[INFO] [stdout]  --> src/federation/org/id.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ops::{Deref, DerefMut}, str::FromStr, mem::discriminant};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RngCore`, `Rng`, and `distributions::Alphanumeric`
[INFO] [stdout]  --> src/federation/org/id.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{Rng, RngCore, distributions::Alphanumeric};
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/federation/org/user/id.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RngCore`, `Rng`, and `distributions::Alphanumeric`
[INFO] [stdout]   --> src/federation/org/user/id.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::{distributions::Alphanumeric, Rng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HasIdentifier`
[INFO] [stdout]  --> src/federation/org/user/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{HasIdentifier, OrgId};
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap` and `ops::DerefMut`
[INFO] [stdout]  --> src/federation/org/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{collections::HashMap, fmt, ops::DerefMut};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `models::Balance`
[INFO] [stdout]  --> src/federation/org/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{models::Balance, Transaction};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `VecDeque`, and `time::SystemTime`
[INFO] [stdout]   --> src/federation/mod.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     collections::{HashMap, VecDeque},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 12 |     time::SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Balance`
[INFO] [stdout]  --> src/federation/id.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{models::{HasIdentifier, Balance, ident::Id}, Federation};
[INFO] [stdout]   |                                     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::Duration`
[INFO] [stdout]   --> src/federation/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/models/balance.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Federation`
[INFO] [stdout]  --> src/models/ident.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::Federation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RngCore`, `Rng`, and `distributions::Alphanumeric`
[INFO] [stdout]  --> src/federation/id.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{distributions::Alphanumeric, Rng, RngCore};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/models/ident.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{distributions::Alphanumeric, Rng, RngCore};
[INFO] [stdout]   |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/federation/id.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/ident.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`, `Display`, and `self`
[INFO] [stdout]  --> src/models/ident.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fmt::{Display, Debug, self},
[INFO] [stdout]   |           ^^^^^^^         ^^^^
[INFO] [stdout] 6 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/msg/tx/id.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{Rng, RngCore, distributions::Alphanumeric};
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::Duration`
[INFO] [stdout]  --> src/msg/tx/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`, and `mem::discriminant`
[INFO] [stdout]  --> src/federation/org/id.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ops::{Deref, DerefMut}, str::FromStr, mem::discriminant};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RngCore`, `Rng`, and `distributions::Alphanumeric`
[INFO] [stdout]  --> src/federation/org/id.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{Rng, RngCore, distributions::Alphanumeric};
[INFO] [stdout]   |            ^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead`, `AsyncWriteExt`, and `AsyncWrite`
[INFO] [stdout]  --> src/node/mod.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::io::{AsyncWrite, AsyncWriteExt, AsyncRead};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/federation/org/user/id.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]  --> src/node/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::io::AsyncReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DAG`
[INFO] [stdout]  --> src/node/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{StreamingDAG, DAG, Federation};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RngCore`, `Rng`, and `distributions::Alphanumeric`
[INFO] [stdout]   --> src/federation/org/user/id.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::{distributions::Alphanumeric, Rng, RngCore};
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HasIdentifier`
[INFO] [stdout]  --> src/federation/org/user/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::{HasIdentifier, OrgId};
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap` and `ops::DerefMut`
[INFO] [stdout]  --> src/federation/org/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{collections::HashMap, fmt, ops::DerefMut};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `models::Balance`
[INFO] [stdout]  --> src/federation/org/mod.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{models::Balance, Transaction};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `VecDeque`, and `time::SystemTime`
[INFO] [stdout]   --> src/federation/mod.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 |     collections::{HashMap, VecDeque},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 12 |     time::SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::Duration`
[INFO] [stdout]   --> src/federation/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Csr`, `Direction`, `EdgeDirection`, `Edges`, `GraphIndex`, `List as AdjList`, `Neighbors`, `NodeIndex`, `UnweightedList`, `astar`, and `scc`
[INFO] [stdout]  --> src/store/dag/graph/mod.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Directed, Direction, EdgeDirection,
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 3 |     algo::{astar, scc},
[INFO] [stdout]   |            ^^^^^  ^^^
[INFO] [stdout] 4 |     csr::{Csr, Edges, NodeIdentifiers, Neighbors},
[INFO] [stdout]   |           ^^^  ^^^^^                   ^^^^^^^^^
[INFO] [stdout] 5 |     adj::{List as AdjList, UnweightedList},
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     graph::{Graph, GraphIndex, NodeIndex,}
[INFO] [stdout]   |                    ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/models/balance.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashSet`, and `hash::Hash`
[INFO] [stdout]   --> src/store/dag/graph/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     hash::Hash, 
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     collections::{BTreeMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Balance`, `Federation`, `OrgUser`, and `Org`
[INFO] [stdout]   --> src/store/dag/graph/mod.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{Transaction, OrgUser, Org, Federation, Balance};
[INFO] [stdout]    |                          ^^^^^^^  ^^^  ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Federation`
[INFO] [stdout]  --> src/models/ident.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::Federation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Direction`, `Graph`, `IntoNodeReferences`, `NodeIndex`, and `Reversed`
[INFO] [stdout]  --> src/store/dag/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     graph::{Graph, NodeIndex},
[INFO] [stdout]   |             ^^^^^  ^^^^^^^^^
[INFO] [stdout] 6 |     visit::{EdgeRef, IntoNodeReferences, NodeRef, Reversed},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^           ^^^^^^^^
[INFO] [stdout] 7 |     Direction,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/models/ident.rs:2:46
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{distributions::Alphanumeric, Rng, RngCore};
[INFO] [stdout]   |                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `thread`
[INFO] [stdout]   --> src/store/dag/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     thread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     collections::{VecDeque, BTreeMap},
[INFO] [stdout]    |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HasIdentifier`
[INFO] [stdout]   --> src/lib.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | use models::{HasIdentifier, Id};
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/models/ident.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize`, `HashMap`, `Ordering`, `SystemTime`, `VecDeque`, and `fmt`
[INFO] [stdout]   --> src/lib.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |     collections::{HashMap, VecDeque},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 20 |     fmt,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 21 |     sync::{
[INFO] [stdout] 22 |         atomic::{AtomicBool, AtomicUsize, Ordering},
[INFO] [stdout]    |                              ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     time::{Duration, SystemTime},
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> src/lib.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `id::FedId`
[INFO] [stdout]   --> src/lib.rs:30:45
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::federation::{org::user::OrgUser, id::FedId};
[INFO] [stdout]    |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`, `Display`, and `self`
[INFO] [stdout]  --> src/models/ident.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fmt::{Display, Debug, self},
[INFO] [stdout]   |           ^^^^^^^         ^^^^
[INFO] [stdout] 6 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/msg/tx/id.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{Rng, RngCore, distributions::Alphanumeric};
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::Duration`
[INFO] [stdout]  --> src/msg/tx/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead`, `AsyncWriteExt`, and `AsyncWrite`
[INFO] [stdout]  --> src/node/mod.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::io::{AsyncWrite, AsyncWriteExt, AsyncRead};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncReadExt`
[INFO] [stdout]  --> src/node/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::io::AsyncReadExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DAG`
[INFO] [stdout]  --> src/node/mod.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{StreamingDAG, DAG, Federation};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Csr`, `Direction`, `EdgeDirection`, `Edges`, `GraphIndex`, `List as AdjList`, `Neighbors`, `NodeIndex`, `UnweightedList`, `astar`, and `scc`
[INFO] [stdout]  --> src/store/dag/graph/mod.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Directed, Direction, EdgeDirection,
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 3 |     algo::{astar, scc},
[INFO] [stdout]   |            ^^^^^  ^^^
[INFO] [stdout] 4 |     csr::{Csr, Edges, NodeIdentifiers, Neighbors},
[INFO] [stdout]   |           ^^^  ^^^^^                   ^^^^^^^^^
[INFO] [stdout] 5 |     adj::{List as AdjList, UnweightedList},
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     graph::{Graph, GraphIndex, NodeIndex,}
[INFO] [stdout]   |                    ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap`, `HashSet`, and `hash::Hash`
[INFO] [stdout]   --> src/store/dag/graph/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     hash::Hash, 
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     collections::{BTreeMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Balance`, `Federation`, `OrgUser`, and `Org`
[INFO] [stdout]   --> src/store/dag/graph/mod.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::{Transaction, OrgUser, Org, Federation, Balance};
[INFO] [stdout]    |                          ^^^^^^^  ^^^  ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Direction`, `Graph`, `IntoNodeReferences`, `NodeIndex`, and `Reversed`
[INFO] [stdout]  --> src/store/dag/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     graph::{Graph, NodeIndex},
[INFO] [stdout]   |             ^^^^^  ^^^^^^^^^
[INFO] [stdout] 6 |     visit::{EdgeRef, IntoNodeReferences, NodeRef, Reversed},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^           ^^^^^^^^
[INFO] [stdout] 7 |     Direction,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BTreeMap` and `thread`
[INFO] [stdout]   --> src/store/dag/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     thread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     collections::{VecDeque, BTreeMap},
[INFO] [stdout]    |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HasIdentifier`
[INFO] [stdout]   --> src/lib.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | use models::{HasIdentifier, Id};
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize`, `HashMap`, `Ordering`, `SystemTime`, `VecDeque`, and `fmt`
[INFO] [stdout]   --> src/lib.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |     collections::{HashMap, VecDeque},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 20 |     fmt,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 21 |     sync::{
[INFO] [stdout] 22 |         atomic::{AtomicBool, AtomicUsize, Ordering},
[INFO] [stdout]    |                              ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     time::{Duration, SystemTime},
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> src/lib.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `id::FedId`
[INFO] [stdout]   --> src/lib.rs:30:45
[INFO] [stdout]    |
[INFO] [stdout] 30 | use crate::federation::{org::user::OrgUser, id::FedId};
[INFO] [stdout]    |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `petgraph::algo::scc`: renamed to kosaraju_scc
[INFO] [stdout]  --> src/store/dag/graph/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     algo::{astar, scc},
[INFO] [stdout]   |                   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `petgraph::algo::scc`: renamed to kosaraju_scc
[INFO] [stdout]  --> src/store/dag/graph/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 |     algo::{astar, scc},
[INFO] [stdout]   |                   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/node/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |     while let tx_bytes = framed.read_buffer() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut framed = Framed::new(stream, LengthDelimitedCodec::new());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut buf =  [0; 1024];
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `while let` pattern
[INFO] [stdout]   --> src/node/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |     while let tx_bytes = framed.read_buffer() {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the loop will never exit
[INFO] [stdout]    = help: consider instead using a `loop { ... }` with a `let` inside it
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut framed = Framed::new(stream, LengthDelimitedCodec::new());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut buf =  [0; 1024];
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut o1: Org = Org::new_from(fid.clone(), "aliceorg", "alice", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut o2: Org = Org::new_from(fid.clone(), "boborg", "bob", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut o3: Org = Org::new_from(fid.clone(), "jimorg", "jim", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut o4: Org = Org::new_from(fid.clone(), "lucyorg", "lucy", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let (mut recv, mut send) = if rng.gen_bool(0.5) {
[INFO] [stdout]    |                        ----^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let mut o1: Org = Org::new_from(fid.clone(), "aliceorg", "alice", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut o2: Org = Org::new_from(fid.clone(), "boborg", "bob", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut o3: Org = Org::new_from(fid.clone(), "jimorg", "jim", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut o4: Org = Org::new_from(fid.clone(), "lucyorg", "lucy", Vec::new());
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let (mut recv, mut send) = if rng.gen_bool(0.5) {
[INFO] [stdout]    |                        ----^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Id`
[INFO] [stdout]   --> src/lib.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use models::{HasIdentifier, Id};
[INFO] [stdout]    |                             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeRef`
[INFO] [stdout]  --> src/store/dag/mod.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 |     visit::{EdgeRef, IntoNodeReferences, NodeRef, Reversed},
[INFO] [stdout]   |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdgeRef`
[INFO] [stdout]  --> src/store/dag/mod.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |     visit::{EdgeRef, IntoNodeReferences, NodeRef, Reversed},
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Id`
[INFO] [stdout]   --> src/lib.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 | use models::{HasIdentifier, Id};
[INFO] [stdout]    |                             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/federation/id.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/federation/id.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut feds = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeRef`
[INFO] [stdout]  --> src/store/dag/mod.rs:6:42
[INFO] [stdout]   |
[INFO] [stdout] 6 |     visit::{EdgeRef, IntoNodeReferences, NodeRef, Reversed},
[INFO] [stdout]   |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EdgeRef`
[INFO] [stdout]  --> src/store/dag/mod.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |     visit::{EdgeRef, IntoNodeReferences, NodeRef, Reversed},
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/federation/org/id.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn get_parent_inclusive_ident_len_range() -> (usize, usize) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 70 |         let (min, max) = Self::get_local_ident_len_range();
[INFO] [stdout] 71 |         let (fmin, fmax) = Self::get_parent_inclusive_ident_len_range();
[INFO] [stdout]    |                            -------------------------------------------- recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let mut spl = value.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut orgs = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/federation/id.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let mut spl = value.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |             let mut feds = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |             let mut orgs = spl[1].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/federation/id.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut feds = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/federation/org/user/id.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn get_from_id(id: OrgUserId) -> anyhow::Result<Self> {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/federation/org/id.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn get_parent_inclusive_ident_len_range() -> (usize, usize) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 70 |         let (min, max) = Self::get_local_ident_len_range();
[INFO] [stdout] 71 |         let (fmin, fmax) = Self::get_parent_inclusive_ident_len_range();
[INFO] [stdout]    |                            -------------------------------------------- recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]    = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |             let mut spl = value.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |             let mut orgs = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |             let mut spl = value.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |             let mut feds = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |             let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/id.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |             let mut orgs = spl[1].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |             let mut users = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 let mut orgs = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 let mut users = spl[1].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |             let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let mut feds = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut orgs = spl[1].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let mut users = spl[2].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/federation/org/user/id.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn get_from_id(id: OrgUserId) -> anyhow::Result<Self> {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |             let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |             let mut users = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 let mut orgs = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 let mut users = spl[1].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |             let mut spl = s.split(';').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |             let mut feds = spl[0].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let mut orgs = spl[1].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/federation/org/user/id.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let mut users = spl[2].split(':').collect::<Vec<&str>>();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/federation/org/mod.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub async fn validate_tx(&self, t: &Transaction) -> bool {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `org_id`
[INFO] [stdout]   --> src/federation/org/mod.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn lookup(org_id: OrgId) -> Option<Self> {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_org_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/federation/org/mod.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |             Some(u) => return OrgUser::new(self.id.clone(), handle.clone()),
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/federation/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn clone(&self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 25 |         Federation { ..self.clone() }
[INFO] [stdout]    |                        ------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/federation/org/mod.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub async fn validate_tx(&self, t: &Transaction) -> bool {
[INFO] [stdout]    |                                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `org_id`
[INFO] [stdout]   --> src/federation/org/mod.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn lookup(org_id: OrgId) -> Option<Self> {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_org_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]    --> src/federation/org/mod.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |             Some(u) => return OrgUser::new(self.id.clone(), handle.clone()),
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/models/ident.rs:69:20
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn get_from_id(id: I) -> anyhow::Result<Self> {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/federation/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn clone(&self) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 25 |         Federation { ..self.clone() }
[INFO] [stdout]    |                        ------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/models/ident.rs:69:20
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn get_from_id(id: I) -> anyhow::Result<Self> {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/msg/tx/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 40 |             sig: None, ..Default::default()
[INFO] [stdout]    |                          ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/node/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut buf =  [0; 1024];
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `respbytes`
[INFO] [stdout]   --> src/node/mod.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let respbytes = bincode::serialize(&resp).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_respbytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send`
[INFO] [stdout]   --> src/node/mod.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let (send, recv, amt) = (tx.clone().send, tx.clone().recv, tx.clone().amt);
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recv`
[INFO] [stdout]   --> src/node/mod.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let (send, recv, amt) = (tx.clone().send, tx.clone().recv, tx.clone().amt);
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amt`
[INFO] [stdout]   --> src/node/mod.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let (send, recv, amt) = (tx.clone().send, tx.clone().recv, tx.clone().amt);
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/msg/tx/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 40 |             sig: None, ..Default::default()
[INFO] [stdout]    |                          ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/node/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut buf =  [0; 1024];
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `respbytes`
[INFO] [stdout]   --> src/node/mod.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let respbytes = bincode::serialize(&resp).unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_respbytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `send`
[INFO] [stdout]   --> src/node/mod.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let (send, recv, amt) = (tx.clone().send, tx.clone().recv, tx.clone().amt);
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recv`
[INFO] [stdout]   --> src/node/mod.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let (send, recv, amt) = (tx.clone().send, tx.clone().recv, tx.clone().amt);
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_recv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amt`
[INFO] [stdout]   --> src/node/mod.rs:55:26
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let (send, recv, amt) = (tx.clone().send, tx.clone().recv, tx.clone().amt);
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/store/dag/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 70 |             ..Default::default()
[INFO] [stdout]    |               ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop`
[INFO] [stdout]   --> src/lib.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let stop = Arc::new(AtomicBool::new(false));
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_stop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DTree` is never constructed
[INFO] [stdout]  --> src/store/dag/tree/mod.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct DTree {
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SparseDAG` is never constructed
[INFO] [stdout]   --> src/store/dag/graph/mod.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct SparseDAG {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]   --> src/store/dag/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     fn default() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 70 |             ..Default::default()
[INFO] [stdout]    |               ------------------ recursive call site
[INFO] [stdout]    |
[INFO] [stdout]    = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stop`
[INFO] [stdout]   --> src/lib.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let stop = Arc::new(AtomicBool::new(false));
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_stop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::num::<impl usize>::wrapping_add` that must be used
[INFO] [stdout]   --> src/models/balance.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         self.amt.load(Ordering::Relaxed).wrapping_add(amt);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this returns the result of the operation, without modifying the original
[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] 46 |         let _ = self.amt.load(Ordering::Relaxed).wrapping_add(amt);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DTree` is never constructed
[INFO] [stdout]  --> src/store/dag/tree/mod.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub(crate) struct DTree {
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SparseDAG` is never constructed
[INFO] [stdout]   --> src/store/dag/graph/mod.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct SparseDAG {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::num::<impl usize>::wrapping_add` that must be used
[INFO] [stdout]   --> src/models/balance.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         self.amt.load(Ordering::Relaxed).wrapping_add(amt);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this returns the result of the operation, without modifying the original
[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] 46 |         let _ = self.amt.load(Ordering::Relaxed).wrapping_add(amt);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpr::*`
[INFO] [stdout]  --> src/bin/cprc.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cpr::*;
[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: `cpr::*`
[INFO] [stdout]  --> src/bin/cprc.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cpr::*;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.11s
[INFO] running `Command { std: "docker" "inspect" "266cd15cc8a90b8d92a3e4baab696f3c52d60143510ce484e477c883ea9c86e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "266cd15cc8a90b8d92a3e4baab696f3c52d60143510ce484e477c883ea9c86e6", kill_on_drop: false }`
[INFO] [stdout] 266cd15cc8a90b8d92a3e4baab696f3c52d60143510ce484e477c883ea9c86e6
