[INFO] cloning repository https://github.com/hevi0/mycache-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hevi0/mycache-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhevi0%2Fmycache-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhevi0%2Fmycache-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8a3b7d28af26c64f00d49fc2acf14170e45b3fcd
[INFO] testing hevi0/mycache-rs against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhevi0%2Fmycache-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hevi0/mycache-rs
[INFO] finished tweaking git repo https://github.com/hevi0/mycache-rs
[INFO] tweaked toml for git repo https://github.com/hevi0/mycache-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hevi0/mycache-rs on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hevi0/mycache-rs 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420
[INFO] running `Command { std: "docker" "start" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tokio v1.46.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling mycache-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]   --> src/node.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::*`
[INFO] [stdout]  --> src/node/kvstore.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::connection::*`
[INFO] [stdout]  --> src/node/kvstore.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::connection::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::*`
[INFO] [stdout]  --> src/node/peerxchg.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::connection::*`
[INFO] [stdout]  --> src/node/peerxchg.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::connection::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             for mut p in state.peermap.values_mut() {
[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.rs:148:16
[INFO] [stdout]     |
[INFO] [stdout] 148 |             Ok(mut listener) => {
[INFO] [stdout]     |                ----^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/common.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 if let Err(e) = &result{
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:184:28
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:194:28
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:199:28
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:211:20
[INFO] [stdout]     |
[INFO] [stdout] 211 |         if let Err(e) = self.stream.flush().await {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/node/peerxchg.rs:146:34
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 .unwrap_or_else(|e| Duration::from_secs(0)).as_secs();
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut state: State = {
[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/node.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut node = Node {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/node.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/node.rs:227:36
[INFO] [stdout]     |
[INFO] [stdout] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `config::Config` is more private than the item `node::Node::config`
[INFO] [stdout]   --> src/node.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub config: Config,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ field `node::Node::config` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `config::Config` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub(crate) struct Config {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `state::State` is more private than the item `node::Node::state`
[INFO] [stdout]   --> src/node.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub state: Arc<Mutex<State>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `state::State` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/state.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct State {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `chash::Chash` is more private than the item `node::Node::chash`
[INFO] [stdout]   --> src/node.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub chash: Arc<Mutex<Chash>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::chash` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `chash::Chash` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/chash.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct Chash {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `connection::PeerUpdate` is more private than the item `node::Node::process_update`
[INFO] [stdout]    --> src/node.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn process_update(&self, update: &PeerUpdate) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `node::Node::process_update` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `connection::PeerUpdate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/connection.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) struct PeerUpdate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `drop_node` is never used
[INFO] [stdout]   --> src/chash.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Chash {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn drop_node(&mut self, id: &IdType) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `forward_kv_request` and `set_kv` are never used
[INFO] [stdout]   --> src/node/kvstore.rs:9:25
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Node {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     pub(crate) async fn forward_kv_request(&mut self, node_id: IdType, frame: Frame) -> Result<(String, String, IdType)> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub(crate) async fn set_kv(&mut self, k: String, v: String) -> Result<()> {
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `diff_peerlist` is never used
[INFO] [stdout]   --> src/state.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn diff_peerlist(&self, peer: &PeerUpdate) -> (PeerList, PeerList) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/bin/client/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[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::net::TcpListener`
[INFO] [stdout]  --> src/bin/client/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::net::TcpListener;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_set_request` is never used
[INFO] [stdout]  --> src/bin/client/main.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn make_set_request() -> Result<()> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_get_request` is never used
[INFO] [stdout]   --> src/bin/client/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn make_get_request() -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.61s
[INFO] running `Command { std: "docker" "inspect" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]   --> src/node.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::*`
[INFO] [stdout]  --> src/node/kvstore.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::connection::*`
[INFO] [stdout]  --> src/node/kvstore.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::connection::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::*`
[INFO] [stdout]  --> src/node/peerxchg.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::connection::*`
[INFO] [stdout]  --> src/node/peerxchg.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::connection::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             for mut p in state.peermap.values_mut() {
[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.rs:148:16
[INFO] [stdout]     |
[INFO] [stdout] 148 |             Ok(mut listener) => {
[INFO] [stdout]     |                ----^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/common.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 if let Err(e) = &result{
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:184:28
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:194:28
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:199:28
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:211:20
[INFO] [stdout]     |
[INFO] [stdout] 211 |         if let Err(e) = self.stream.flush().await {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/node/peerxchg.rs:146:34
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 .unwrap_or_else(|e| Duration::from_secs(0)).as_secs();
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut state: State = {
[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/node.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut node = Node {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/node.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/node.rs:227:36
[INFO] [stdout]     |
[INFO] [stdout] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `config::Config` is more private than the item `node::Node::config`
[INFO] [stdout]   --> src/node.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub config: Config,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ field `node::Node::config` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `config::Config` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub(crate) struct Config {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `state::State` is more private than the item `node::Node::state`
[INFO] [stdout]   --> src/node.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub state: Arc<Mutex<State>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `state::State` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/state.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct State {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `chash::Chash` is more private than the item `node::Node::chash`
[INFO] [stdout]   --> src/node.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub chash: Arc<Mutex<Chash>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::chash` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `chash::Chash` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/chash.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct Chash {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `connection::PeerUpdate` is more private than the item `node::Node::process_update`
[INFO] [stdout]    --> src/node.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn process_update(&self, update: &PeerUpdate) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `node::Node::process_update` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `connection::PeerUpdate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/connection.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) struct PeerUpdate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `drop_node` is never used
[INFO] [stdout]   --> src/chash.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Chash {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn drop_node(&mut self, id: &IdType) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `forward_kv_request` and `set_kv` are never used
[INFO] [stdout]   --> src/node/kvstore.rs:9:25
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Node {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     pub(crate) async fn forward_kv_request(&mut self, node_id: IdType, frame: Frame) -> Result<(String, String, IdType)> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub(crate) async fn set_kv(&mut self, k: String, v: String) -> Result<()> {
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `diff_peerlist` is never used
[INFO] [stdout]   --> src/state.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn diff_peerlist(&self, peer: &PeerUpdate) -> (PeerList, PeerList) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mycache-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/bin/client/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::error::Error;
[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::net::TcpListener`
[INFO] [stdout]  --> src/bin/client/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::net::TcpListener;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_set_request` is never used
[INFO] [stdout]  --> src/bin/client/main.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn make_set_request() -> Result<()> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_get_request` is never used
[INFO] [stdout]   --> src/bin/client/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn make_get_request() -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]   --> src/node.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::*`
[INFO] [stdout]  --> src/node/kvstore.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::connection::*`
[INFO] [stdout]  --> src/node/kvstore.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::connection::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::common::*`
[INFO] [stdout]  --> src/node/peerxchg.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::connection::*`
[INFO] [stdout]  --> src/node/peerxchg.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::connection::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             for mut p in state.peermap.values_mut() {
[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.rs:148:16
[INFO] [stdout]     |
[INFO] [stdout] 148 |             Ok(mut listener) => {
[INFO] [stdout]     |                ----^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/common.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:128:28
[INFO] [stdout]     |
[INFO] [stdout] 128 |                 if let Err(e) = &result{
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 Err(e) => {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:184:28
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:194:28
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:199:28
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:204:28
[INFO] [stdout]     |
[INFO] [stdout] 204 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/connection.rs:211:20
[INFO] [stdout]     |
[INFO] [stdout] 211 |         if let Err(e) = self.stream.flush().await {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/node/peerxchg.rs:146:34
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 .unwrap_or_else(|e| Duration::from_secs(0)).as_secs();
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut state: State = {
[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/node.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut node = Node {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]    --> src/node.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stdout]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/node.rs:227:36
[INFO] [stdout]     |
[INFO] [stdout] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `config::Config` is more private than the item `node::Node::config`
[INFO] [stdout]   --> src/node.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub config: Config,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ field `node::Node::config` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `config::Config` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/config.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub(crate) struct Config {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `state::State` is more private than the item `node::Node::state`
[INFO] [stdout]   --> src/node.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub state: Arc<Mutex<State>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `state::State` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/state.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) struct State {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `chash::Chash` is more private than the item `node::Node::chash`
[INFO] [stdout]   --> src/node.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub chash: Arc<Mutex<Chash>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::chash` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `chash::Chash` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/chash.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct Chash {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `connection::PeerUpdate` is more private than the item `node::Node::process_update`
[INFO] [stdout]    --> src/node.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn process_update(&self, update: &PeerUpdate) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `node::Node::process_update` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `connection::PeerUpdate` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/connection.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) struct PeerUpdate {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `drop_node` is never used
[INFO] [stdout]   --> src/chash.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Chash {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn drop_node(&mut self, id: &IdType) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `forward_kv_request` and `set_kv` are never used
[INFO] [stdout]   --> src/node/kvstore.rs:9:25
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Node {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout]  8 |
[INFO] [stdout]  9 |     pub(crate) async fn forward_kv_request(&mut self, node_id: IdType, frame: Frame) -> Result<(String, String, IdType)> {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub(crate) async fn set_kv(&mut self, k: String, v: String) -> Result<()> {
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `diff_peerlist` is never used
[INFO] [stdout]   --> src/state.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn diff_peerlist(&self, peer: &PeerUpdate) -> (PeerList, PeerList) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.97s
[INFO] running `Command { std: "docker" "inspect" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `TcpStream`
[INFO] [stderr]   --> src/node.rs:16:31
[INFO] [stderr]    |
[INFO] [stderr] 16 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::common::*`
[INFO] [stderr]  --> src/node/kvstore.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::common::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::connection::*`
[INFO] [stderr]  --> src/node/kvstore.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::connection::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::common::*`
[INFO] [stderr]  --> src/node/peerxchg.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::common::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::connection::*`
[INFO] [stderr]  --> src/node/peerxchg.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::connection::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:136:17
[INFO] [stderr]     |
[INFO] [stderr] 136 |             for mut p in state.peermap.values_mut() {
[INFO] [stderr]     |                 ----^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:148:16
[INFO] [stderr]     |
[INFO] [stderr] 148 |             Ok(mut listener) => {
[INFO] [stderr]     |                ----^^^^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/common.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 |             Err(e) => {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:128:28
[INFO] [stderr]     |
[INFO] [stderr] 128 |                 if let Err(e) = &result{
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:155:21
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 Err(e) => {
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:169:28
[INFO] [stderr]     |
[INFO] [stderr] 169 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:174:28
[INFO] [stderr]     |
[INFO] [stderr] 174 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:179:28
[INFO] [stderr]     |
[INFO] [stderr] 179 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:184:28
[INFO] [stderr]     |
[INFO] [stderr] 184 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:189:28
[INFO] [stderr]     |
[INFO] [stderr] 189 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:194:28
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:199:28
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:204:28
[INFO] [stderr]     |
[INFO] [stderr] 204 |                 if let Err(e) = self.write_stream(data, prefix).await {
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/connection.rs:211:20
[INFO] [stderr]     |
[INFO] [stderr] 211 |         if let Err(e) = self.stream.flush().await {
[INFO] [stderr]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/node/peerxchg.rs:146:34
[INFO] [stderr]     |
[INFO] [stderr] 146 |                 .unwrap_or_else(|e| Duration::from_secs(0)).as_secs();
[INFO] [stderr]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/node.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let mut state: State = {
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/node.rs:90:13
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let mut node = Node {
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]    --> src/node.rs:227:33
[INFO] [stderr]     |
[INFO] [stderr] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stderr]     |                                 ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/node.rs:227:36
[INFO] [stderr]     |
[INFO] [stderr] 227 |             Some(Frame::SetVal((k, v))) => {
[INFO] [stderr]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: type `config::Config` is more private than the item `node::Node::config`
[INFO] [stderr]   --> src/node.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub config: Config,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^ field `node::Node::config` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `config::Config` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/config.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub(crate) struct Config {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `state::State` is more private than the item `node::Node::state`
[INFO] [stderr]   --> src/node.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub state: Arc<Mutex<State>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::state` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `state::State` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/state.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub(crate) struct State {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `chash::Chash` is more private than the item `node::Node::chash`
[INFO] [stderr]   --> src/node.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub chash: Arc<Mutex<Chash>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `node::Node::chash` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `chash::Chash` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/chash.rs:46:1
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub(crate) struct Chash {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `connection::PeerUpdate` is more private than the item `node::Node::process_update`
[INFO] [stderr]    --> src/node.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub fn process_update(&self, update: &PeerUpdate) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `node::Node::process_update` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `connection::PeerUpdate` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/connection.rs:251:1
[INFO] [stderr]     |
[INFO] [stderr] 251 | pub(crate) struct PeerUpdate {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `drop_node` is never used
[INFO] [stderr]   --> src/chash.rs:83:12
[INFO] [stderr]    |
[INFO] [stderr] 52 | impl Chash {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn drop_node(&mut self, id: &IdType) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `forward_kv_request` and `set_kv` are never used
[INFO] [stderr]   --> src/node/kvstore.rs:9:25
[INFO] [stderr]    |
[INFO] [stderr]  7 | impl Node {
[INFO] [stderr]    | --------- methods in this implementation
[INFO] [stderr]  8 |
[INFO] [stderr]  9 |     pub(crate) async fn forward_kv_request(&mut self, node_id: IdType, frame: Frame) -> Result<(String, String, IdType)> {
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub(crate) async fn set_kv(&mut self, k: String, v: String) -> Result<()> {
[INFO] [stderr]    |                         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `diff_peerlist` is never used
[INFO] [stderr]   --> src/state.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl State {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 79 |     pub fn diff_peerlist(&self, peer: &PeerUpdate) -> (PeerList, PeerList) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `mycache-rs` (lib) generated 31 warnings (run `cargo fix --lib -p mycache-rs` to apply 24 suggestions)
[INFO] [stderr] warning: `mycache-rs` (lib test) generated 31 warnings (31 duplicates)
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]  --> src/bin/client/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::error::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::net::TcpListener`
[INFO] [stderr]  --> src/bin/client/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tokio::net::TcpListener;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_set_request` is never used
[INFO] [stderr]  --> src/bin/client/main.rs:8:4
[INFO] [stderr]   |
[INFO] [stderr] 8 | fn make_set_request() -> Result<()> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_get_request` is never used
[INFO] [stderr]   --> src/bin/client/main.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn make_get_request() -> Result<()> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `mycache-rs` (bin "client" test) generated 4 warnings (run `cargo fix --bin "client" -p mycache-rs --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mycache_rs-b77302e396183874)
[INFO] [stderr]      Running unittests src/bin/client/main.rs (/opt/rustwide/target/debug/deps/client-755ea668e8e39b43)
[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] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mycache_rs-4077a3d7ec20ca68)
[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] [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]    Doc-tests mycache_rs
[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] running `Command { std: "docker" "inspect" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420", kill_on_drop: false }`
[INFO] [stdout] ed29a1dd9b4dca03d081309baff34a629a29d6fd67e75755855b48f991f9a420
