[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 try#2440211fe03bc45c89b6dc1a3df18382ce91e32b for pr-146098-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhevi0%2Fmycache-rs" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/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-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hevi0/mycache-rs on toolchain 2440211fe03bc45c89b6dc1a3df18382ce91e32b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] edfcbdf06cd351e961c17e0d6f6142e39138ddb9eb7953dea30376b050c99fbf [INFO] running `Command { std: "docker" "start" "-a" "edfcbdf06cd351e961c17e0d6f6142e39138ddb9eb7953dea30376b050c99fbf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "edfcbdf06cd351e961c17e0d6f6142e39138ddb9eb7953dea30376b050c99fbf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "edfcbdf06cd351e961c17e0d6f6142e39138ddb9eb7953dea30376b050c99fbf", kill_on_drop: false }` [INFO] [stdout] edfcbdf06cd351e961c17e0d6f6142e39138ddb9eb7953dea30376b050c99fbf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2a56e608fdd9ca9312ae1db7a49bddd63e166686064b150f7b2140b4f2409c3f [INFO] running `Command { std: "docker" "start" "-a" "2a56e608fdd9ca9312ae1db7a49bddd63e166686064b150f7b2140b4f2409c3f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling parking_lot v0.12.4 [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 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 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] = 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: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: `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: 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] [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: 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>, [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>, [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 24.21s [INFO] running `Command { std: "docker" "inspect" "2a56e608fdd9ca9312ae1db7a49bddd63e166686064b150f7b2140b4f2409c3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a56e608fdd9ca9312ae1db7a49bddd63e166686064b150f7b2140b4f2409c3f", kill_on_drop: false }` [INFO] [stdout] 2a56e608fdd9ca9312ae1db7a49bddd63e166686064b150f7b2140b4f2409c3f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3ad97bc02f5cd321fad2266b255fbe3064bc446be4f51e39d2c7bab34e35c2f7 [INFO] running `Command { std: "docker" "start" "-a" "3ad97bc02f5cd321fad2266b255fbe3064bc446be4f51e39d2c7bab34e35c2f7", 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 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] = 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: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: `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: 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] [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: 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>, [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>, [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 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] = 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: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: `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: 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] [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: 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>, [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>, [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 1.23s [INFO] running `Command { std: "docker" "inspect" "3ad97bc02f5cd321fad2266b255fbe3064bc446be4f51e39d2c7bab34e35c2f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ad97bc02f5cd321fad2266b255fbe3064bc446be4f51e39d2c7bab34e35c2f7", kill_on_drop: false }` [INFO] [stdout] 3ad97bc02f5cd321fad2266b255fbe3064bc446be4f51e39d2c7bab34e35c2f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7b2fe224338c034ee1cbb5d58973c166dec071c7f6b8e22f62e9f025ca028aaa [INFO] running `Command { std: "docker" "start" "-a" "7b2fe224338c034ee1cbb5d58973c166dec071c7f6b8e22f62e9f025ca028aaa", 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 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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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: `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: 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] 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: 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>, [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>, [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 27 warnings (run `cargo fix --lib -p mycache-rs` to apply 5 suggestions) [INFO] [stderr] warning: `mycache-rs` (lib test) generated 27 warnings (27 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" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mycache_rs-9868dc63ea8de8cd) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests src/bin/client/main.rs (/opt/rustwide/target/debug/deps/client-48ec209ad1f506cf) [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] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mycache_rs-ea45d729c5fb53e7) [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] [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" "7b2fe224338c034ee1cbb5d58973c166dec071c7f6b8e22f62e9f025ca028aaa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b2fe224338c034ee1cbb5d58973c166dec071c7f6b8e22f62e9f025ca028aaa", kill_on_drop: false }` [INFO] [stdout] 7b2fe224338c034ee1cbb5d58973c166dec071c7f6b8e22f62e9f025ca028aaa