[INFO] updating cached repository https://github.com/enochc/hive [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/enochc/hive [INFO] [stderr] a04d0dd..b094fdb new_master -> new_master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b094fdbe7789256ab1d69da1139980d80cb8db58 [INFO] testing enochc/hive against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fenochc%2Fhive" "/workspace/builds/worker-9/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/enochc/hive on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/enochc/hive [INFO] finished tweaking git repo https://github.com/enochc/hive [INFO] tweaked toml for git repo https://github.com/enochc/hive written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/enochc/hive already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 347da6b86bdc94443c62829aafc374215aeafb33ebef31cbaa436a0f12c493fd [INFO] running `"docker" "start" "-a" "347da6b86bdc94443c62829aafc374215aeafb33ebef31cbaa436a0f12c493fd"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling proc-macro2 v1.0.13 [INFO] [stderr] Compiling syn v1.0.22 [INFO] [stderr] Compiling libc v0.2.70 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Compiling arrayvec v0.4.11 [INFO] [stderr] Compiling serde v1.0.100 [INFO] [stderr] Compiling cc v1.0.45 [INFO] [stderr] Compiling once_cell v1.4.0 [INFO] [stderr] Compiling serde v0.8.23 [INFO] [stderr] Compiling futures-io v0.3.5 [INFO] [stderr] Compiling futures-sink v0.3.5 [INFO] [stderr] Compiling static_assertions v0.3.4 [INFO] [stderr] Compiling arc-swap v0.4.6 [INFO] [stderr] Compiling pin-project-lite v0.1.5 [INFO] [stderr] Compiling rust-ini v0.13.0 [INFO] [stderr] Compiling futures-timer v2.0.2 [INFO] [stderr] Compiling spmc v0.3.0 [INFO] [stderr] Compiling async-macros v2.0.0 [INFO] [stderr] Compiling nom v5.1.1 [INFO] [stderr] Compiling futures-channel v0.3.5 [INFO] [stderr] Compiling futures-task v0.3.5 [INFO] [stderr] Compiling lexical-core v0.6.7 [INFO] [stderr] Compiling aho-corasick v0.7.6 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling crossbeam-queue v0.2.1 [INFO] [stderr] Compiling crossbeam-channel v0.4.2 [INFO] [stderr] Compiling kv-log-macro v1.0.6 [INFO] [stderr] Compiling net2 v0.2.34 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling signal-hook-registry v1.2.0 [INFO] [stderr] Compiling async-task v1.3.1 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling backtrace-sys v0.1.31 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling mio v0.6.22 [INFO] [stderr] Compiling regex v1.3.1 [INFO] [stderr] Compiling backtrace v0.3.37 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling async-std v1.2.0 (https://github.com/stjepang/async-std?branch=new-scheduler#ceba324b) [INFO] [stderr] Compiling serde_test v0.8.23 [INFO] [stderr] Compiling linked-hash-map v0.3.0 [INFO] [stderr] Compiling serde-hjson v0.9.1 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling serde_json v1.0.40 [INFO] [stderr] Compiling config v0.10.1 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Compiling pin-project-internal v0.4.17 [INFO] [stderr] Compiling futures-macro v0.3.5 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling serde_derive v1.0.100 [INFO] [stderr] Compiling tokio v0.2.21 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling pin-project v0.4.17 [INFO] [stderr] Compiling futures-util v0.3.5 [INFO] [stderr] Compiling futures-executor v0.3.5 [INFO] [stderr] Compiling futures v0.3.5 [INFO] [stderr] Compiling hive v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `thread::sleep` [INFO] [stderr] --> src/hive.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | thread::sleep, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `io::BufReader`, `prelude::*`, `sync::Arc` [INFO] [stderr] --> src/hive.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | io::BufReader, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 14 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] 15 | prelude::*, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 16 | sync::Arc, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `failure::_core::time::Duration` [INFO] [stderr] --> src/hive.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use failure::_core::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `UnboundedReceiver`, `UnboundedSender` [INFO] [stderr] --> src/hive.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | use futures::channel::mpsc::{UnboundedReceiver, UnboundedSender}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spmc` [INFO] [stderr] --> src/hive.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use spmc; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/hive.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::channel::mpsc` [INFO] [stderr] --> src/peer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use futures::channel::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StreamExt` [INFO] [stderr] --> src/peer.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use futures::{SinkExt, StreamExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `ToSocketAddrs` [INFO] [stderr] --> src/peer.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::BorrowMut` [INFO] [stderr] --> src/peer.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::borrow::BorrowMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:189:24 [INFO] [stderr] | [INFO] [stderr] 189 | if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:191:28 [INFO] [stderr] | [INFO] [stderr] 191 | Ok(mut s) => { [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/hive.rs:195:41 [INFO] [stderr] | [INFO] [stderr] 195 | ... let mut p = Peer::new(name, s, send_chan, None); [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/hive.rs:186:18 [INFO] [stderr] | [INFO] [stderr] 186 | let (mut send_chan,mut receive_chan) = mpsc::unbounded(); [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/hive.rs:242:29 [INFO] [stderr] | [INFO] [stderr] 242 | let mut p = Peer::new(pname, stream, send_chan, None); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: irrefutable if-let pattern [INFO] [stderr] --> src/hive.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | / if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] 190 | | match stream { [INFO] [stderr] 191 | | Ok(mut s) => { [INFO] [stderr] 192 | | match s.peer_addr() { [INFO] [stderr] ... | [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hive_name` [INFO] [stderr] --> src/hive.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | let hive_name = self.name.clone(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hive_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/hive.rs:208:42 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/hive.rs:208:48 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `stream: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:209:42 [INFO] [stderr] | [INFO] [stderr] 209 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:246:42 [INFO] [stderr] | [INFO] [stderr] 246 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `receiver` [INFO] [stderr] --> src/peer.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | receiver: Option>) -> Peer { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut props:HashMap:: = HashMap::new(); [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/hive.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | let (tx,mut rx) = mpsc::unbounded(); [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/hive.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut props = &mut self.properties; [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/peer.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | let mut peer = Peer{ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `peers` [INFO] [stderr] --> src/hive.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `addPeer` [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `peers` should have an upper case name [INFO] [stderr] --> src/hive.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `PEERS` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `addPeer` should have a snake case name [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `add_peer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/hive.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | sender.clone().send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `sendProperties` should have a snake case name [INFO] [stderr] --> src/hive.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | async fn sendProperties(&self, peer:&Peer){ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_properties` [INFO] [stderr] [INFO] [stderr] warning: method `gotMessage` should have a snake case name [INFO] [stderr] --> src/hive.rs:262:8 [INFO] [stderr] | [INFO] [stderr] 262 | fn gotMessage(&mut self, msg:String){ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `got_message` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | block_on(send(stream, msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:141:25 [INFO] [stderr] | [INFO] [stderr] 141 | sender.send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 35 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 08s [INFO] running `"docker" "inspect" "347da6b86bdc94443c62829aafc374215aeafb33ebef31cbaa436a0f12c493fd"` [INFO] running `"docker" "rm" "-f" "347da6b86bdc94443c62829aafc374215aeafb33ebef31cbaa436a0f12c493fd"` [INFO] [stdout] 347da6b86bdc94443c62829aafc374215aeafb33ebef31cbaa436a0f12c493fd [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d1246940320507c96acbd08dba5d3d080d93fa11406281ae56cb8809a7f1fa3f [INFO] running `"docker" "start" "-a" "d1246940320507c96acbd08dba5d3d080d93fa11406281ae56cb8809a7f1fa3f"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling hive v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `thread::sleep` [INFO] [stderr] --> src/hive.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | thread::sleep, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `io::BufReader`, `prelude::*`, `sync::Arc` [INFO] [stderr] --> src/hive.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | io::BufReader, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 14 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] 15 | prelude::*, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 16 | sync::Arc, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `failure::_core::time::Duration` [INFO] [stderr] --> src/hive.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use failure::_core::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `UnboundedReceiver`, `UnboundedSender` [INFO] [stderr] --> src/hive.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | use futures::channel::mpsc::{UnboundedReceiver, UnboundedSender}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spmc` [INFO] [stderr] --> src/hive.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use spmc; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/hive.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::channel::mpsc` [INFO] [stderr] --> src/peer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use futures::channel::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StreamExt` [INFO] [stderr] --> src/peer.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use futures::{SinkExt, StreamExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `ToSocketAddrs` [INFO] [stderr] --> src/peer.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::BorrowMut` [INFO] [stderr] --> src/peer.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::borrow::BorrowMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:189:24 [INFO] [stderr] | [INFO] [stderr] 189 | if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:191:28 [INFO] [stderr] | [INFO] [stderr] 191 | Ok(mut s) => { [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/hive.rs:195:41 [INFO] [stderr] | [INFO] [stderr] 195 | ... let mut p = Peer::new(name, s, send_chan, None); [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/hive.rs:186:18 [INFO] [stderr] | [INFO] [stderr] 186 | let (mut send_chan,mut receive_chan) = mpsc::unbounded(); [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/hive.rs:242:29 [INFO] [stderr] | [INFO] [stderr] 242 | let mut p = Peer::new(pname, stream, send_chan, None); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: irrefutable if-let pattern [INFO] [stderr] --> src/hive.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | / if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] 190 | | match stream { [INFO] [stderr] 191 | | Ok(mut s) => { [INFO] [stderr] 192 | | match s.peer_addr() { [INFO] [stderr] ... | [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hive_name` [INFO] [stderr] --> src/hive.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | let hive_name = self.name.clone(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hive_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/hive.rs:208:42 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/hive.rs:208:48 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `stream: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:209:42 [INFO] [stderr] | [INFO] [stderr] 209 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:246:42 [INFO] [stderr] | [INFO] [stderr] 246 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `receiver` [INFO] [stderr] --> src/peer.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | receiver: Option>) -> Peer { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut props:HashMap:: = HashMap::new(); [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/hive.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | let (tx,mut rx) = mpsc::unbounded(); [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/hive.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut props = &mut self.properties; [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/peer.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | let mut peer = Peer{ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `peers` [INFO] [stderr] --> src/hive.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `addPeer` [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `peers` should have an upper case name [INFO] [stderr] --> src/hive.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `PEERS` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `addPeer` should have a snake case name [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `add_peer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/hive.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | sender.clone().send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `sendProperties` should have a snake case name [INFO] [stderr] --> src/hive.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | async fn sendProperties(&self, peer:&Peer){ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_properties` [INFO] [stderr] [INFO] [stderr] warning: method `gotMessage` should have a snake case name [INFO] [stderr] --> src/hive.rs:262:8 [INFO] [stderr] | [INFO] [stderr] 262 | fn gotMessage(&mut self, msg:String){ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `got_message` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | block_on(send(stream, msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:141:25 [INFO] [stderr] | [INFO] [stderr] 141 | sender.send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 35 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `TcpStream`, `ToSocketAddrs`, `io::BufReader`, `prelude::*` [INFO] [stderr] --> examples/test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | io::BufReader, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 3 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] 4 | prelude::*, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread::sleep` [INFO] [stderr] --> src/hive.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | thread::sleep, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `io::BufReader`, `prelude::*`, `sync::Arc` [INFO] [stderr] --> src/hive.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | io::BufReader, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 14 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] 15 | prelude::*, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 16 | sync::Arc, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `failure::_core::time::Duration` [INFO] [stderr] --> src/hive.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use failure::_core::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `UnboundedReceiver`, `UnboundedSender` [INFO] [stderr] --> src/hive.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | use futures::channel::mpsc::{UnboundedReceiver, UnboundedSender}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spmc` [INFO] [stderr] --> src/hive.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use spmc; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/hive.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::channel::mpsc` [INFO] [stderr] --> src/peer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use futures::channel::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StreamExt` [INFO] [stderr] --> src/peer.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use futures::{SinkExt, StreamExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `ToSocketAddrs` [INFO] [stderr] --> src/peer.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::BorrowMut` [INFO] [stderr] --> src/peer.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::borrow::BorrowMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:189:24 [INFO] [stderr] | [INFO] [stderr] 189 | if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:191:28 [INFO] [stderr] | [INFO] [stderr] 191 | Ok(mut s) => { [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/hive.rs:195:41 [INFO] [stderr] | [INFO] [stderr] 195 | ... let mut p = Peer::new(name, s, send_chan, None); [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/hive.rs:186:18 [INFO] [stderr] | [INFO] [stderr] 186 | let (mut send_chan,mut receive_chan) = mpsc::unbounded(); [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/hive.rs:242:29 [INFO] [stderr] | [INFO] [stderr] 242 | let mut p = Peer::new(pname, stream, send_chan, None); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: irrefutable if-let pattern [INFO] [stderr] --> src/hive.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | / if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] 190 | | match stream { [INFO] [stderr] 191 | | Ok(mut s) => { [INFO] [stderr] 192 | | match s.peer_addr() { [INFO] [stderr] ... | [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hive_name` [INFO] [stderr] --> src/hive.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | let hive_name = self.name.clone(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hive_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/hive.rs:208:42 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/hive.rs:208:48 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `stream: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:209:42 [INFO] [stderr] | [INFO] [stderr] 209 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:246:42 [INFO] [stderr] | [INFO] [stderr] 246 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `receiver` [INFO] [stderr] --> src/peer.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | receiver: Option>) -> Peer { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut props:HashMap:: = HashMap::new(); [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/hive.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | let (tx,mut rx) = mpsc::unbounded(); [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/hive.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut props = &mut self.properties; [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/peer.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | let mut peer = Peer{ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `peers` [INFO] [stderr] --> src/hive.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `addPeer` [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `peers` should have an upper case name [INFO] [stderr] --> src/hive.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `PEERS` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `addPeer` should have a snake case name [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `add_peer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/hive.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | sender.clone().send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `sendProperties` should have a snake case name [INFO] [stderr] --> src/hive.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | async fn sendProperties(&self, peer:&Peer){ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_properties` [INFO] [stderr] [INFO] [stderr] warning: method `gotMessage` should have a snake case name [INFO] [stderr] --> src/hive.rs:262:8 [INFO] [stderr] | [INFO] [stderr] 262 | fn gotMessage(&mut self, msg:String){ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `got_message` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | block_on(send(stream, msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:141:25 [INFO] [stderr] | [INFO] [stderr] 141 | sender.send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: 35 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 8.38s [INFO] running `"docker" "inspect" "d1246940320507c96acbd08dba5d3d080d93fa11406281ae56cb8809a7f1fa3f"` [INFO] running `"docker" "rm" "-f" "d1246940320507c96acbd08dba5d3d080d93fa11406281ae56cb8809a7f1fa3f"` [INFO] [stdout] d1246940320507c96acbd08dba5d3d080d93fa11406281ae56cb8809a7f1fa3f [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] ffb66021cb70255293d17312337137ed103b67fe4ef8efc1bc68b70d537ba045 [INFO] running `"docker" "start" "-a" "ffb66021cb70255293d17312337137ed103b67fe4ef8efc1bc68b70d537ba045"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: unused import: `thread::sleep` [INFO] [stderr] --> src/hive.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | thread::sleep, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `io::BufReader`, `prelude::*`, `sync::Arc` [INFO] [stderr] --> src/hive.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | io::BufReader, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 14 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] 15 | prelude::*, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 16 | sync::Arc, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `failure::_core::time::Duration` [INFO] [stderr] --> src/hive.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use failure::_core::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `UnboundedReceiver`, `UnboundedSender` [INFO] [stderr] --> src/hive.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | use futures::channel::mpsc::{UnboundedReceiver, UnboundedSender}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spmc` [INFO] [stderr] --> src/hive.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use spmc; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/hive.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::channel::mpsc` [INFO] [stderr] --> src/peer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use futures::channel::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StreamExt` [INFO] [stderr] --> src/peer.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use futures::{SinkExt, StreamExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `ToSocketAddrs` [INFO] [stderr] --> src/peer.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::BorrowMut` [INFO] [stderr] --> src/peer.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::borrow::BorrowMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:189:24 [INFO] [stderr] | [INFO] [stderr] 189 | if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:191:28 [INFO] [stderr] | [INFO] [stderr] 191 | Ok(mut s) => { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread::sleep` [INFO] [stderr] --> src/hive.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | thread::sleep, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `io::BufReader`, `prelude::*`, `sync::Arc` [INFO] [stderr] --> src/hive.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | io::BufReader, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 14 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] 15 | prelude::*, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 16 | sync::Arc, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `failure::_core::time::Duration` [INFO] [stderr] --> src/hive.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use failure::_core::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `UnboundedReceiver`, `UnboundedSender` [INFO] [stderr] --> src/hive.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | use futures::channel::mpsc::{UnboundedReceiver, UnboundedSender}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `spmc` [INFO] [stderr] --> src/hive.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | use spmc; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/hive.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::channel::mpsc` [INFO] [stderr] --> src/peer.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use futures::channel::mpsc; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StreamExt` [INFO] [stderr] --> src/peer.rs:3:24 [INFO] [stderr] | [INFO] [stderr] 3 | use futures::{SinkExt, StreamExt}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `ToSocketAddrs` [INFO] [stderr] --> src/peer.rs:6:11 [INFO] [stderr] | [INFO] [stderr] 6 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::borrow::BorrowMut` [INFO] [stderr] --> src/peer.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::borrow::BorrowMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:189:24 [INFO] [stderr] | [INFO] [stderr] 189 | if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:191:28 [INFO] [stderr] | [INFO] [stderr] 191 | Ok(mut s) => { [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/hive.rs:195:41 [INFO] [stderr] | [INFO] [stderr] 195 | ... let mut p = Peer::new(name, s, send_chan, None); [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/hive.rs:186:18 [INFO] [stderr] | [INFO] [stderr] 186 | let (mut send_chan,mut receive_chan) = mpsc::unbounded(); [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/hive.rs:242:29 [INFO] [stderr] | [INFO] [stderr] 242 | let mut p = Peer::new(pname, stream, send_chan, None); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: irrefutable if-let pattern [INFO] [stderr] --> src/hive.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | / if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] 190 | | match stream { [INFO] [stderr] 191 | | Ok(mut s) => { [INFO] [stderr] 192 | | match s.peer_addr() { [INFO] [stderr] ... | [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hive_name` [INFO] [stderr] --> src/hive.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | let hive_name = self.name.clone(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hive_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/hive.rs:208:42 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/hive.rs:208:48 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `stream: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:209:42 [INFO] [stderr] | [INFO] [stderr] 209 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:246:42 [INFO] [stderr] | [INFO] [stderr] 246 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `receiver` [INFO] [stderr] --> src/peer.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | receiver: Option>) -> Peer { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut props:HashMap:: = HashMap::new(); [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/hive.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | let (tx,mut rx) = mpsc::unbounded(); [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/hive.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut props = &mut self.properties; [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/peer.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | let mut peer = Peer{ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `peers` [INFO] [stderr] --> src/hive.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `addPeer` [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `peers` should have an upper case name [INFO] [stderr] --> src/hive.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `PEERS` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `addPeer` should have a snake case name [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `add_peer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/hive.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | sender.clone().send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `sendProperties` should have a snake case name [INFO] [stderr] --> src/hive.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | async fn sendProperties(&self, peer:&Peer){ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_properties` [INFO] [stderr] [INFO] [stderr] warning: method `gotMessage` should have a snake case name [INFO] [stderr] --> src/hive.rs:262:8 [INFO] [stderr] | [INFO] [stderr] 262 | fn gotMessage(&mut self, msg:String){ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `got_message` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | block_on(send(stream, msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:141:25 [INFO] [stderr] | [INFO] [stderr] 141 | sender.send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 35 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:195:41 [INFO] [stderr] | [INFO] [stderr] 195 | ... let mut p = Peer::new(name, s, send_chan, None); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `TcpStream`, `ToSocketAddrs`, `io::BufReader`, `prelude::*` [INFO] [stderr] --> examples/test.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | io::BufReader, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 3 | net::{TcpListener, TcpStream, ToSocketAddrs}, [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] 4 | prelude::*, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:186:18 [INFO] [stderr] | [INFO] [stderr] 186 | let (mut send_chan,mut receive_chan) = mpsc::unbounded(); [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/hive.rs:242:29 [INFO] [stderr] | [INFO] [stderr] 242 | let mut p = Peer::new(pname, stream, send_chan, None); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: irrefutable if-let pattern [INFO] [stderr] --> src/hive.rs:189:17 [INFO] [stderr] | [INFO] [stderr] 189 | / if let mut stream = TcpStream::connect(address).await { [INFO] [stderr] 190 | | match stream { [INFO] [stderr] 191 | | Ok(mut s) => { [INFO] [stderr] 192 | | match s.peer_addr() { [INFO] [stderr] ... | [INFO] [stderr] 202 | | } [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hive_name` [INFO] [stderr] --> src/hive.rs:187:17 [INFO] [stderr] | [INFO] [stderr] 187 | let hive_name = self.name.clone(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hive_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/hive.rs:208:42 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/hive.rs:208:48 [INFO] [stderr] | [INFO] [stderr] 208 | SocketEvent::NewPeer{name, stream} => {}, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `stream: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:209:42 [INFO] [stderr] | [INFO] [stderr] 209 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `from` [INFO] [stderr] --> src/hive.rs:246:42 [INFO] [stderr] | [INFO] [stderr] 246 | SocketEvent::Message{from, msg} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `receiver` [INFO] [stderr] --> src/peer.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | receiver: Option>) -> Peer { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/hive.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | let mut props:HashMap:: = HashMap::new(); [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/hive.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | let (tx,mut rx) = mpsc::unbounded(); [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/hive.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | let mut props = &mut self.properties; [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/peer.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | let mut peer = Peer{ [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: static item is never used: `peers` [INFO] [stderr] --> src/hive.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `addPeer` [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static variable `peers` should have an upper case name [INFO] [stderr] --> src/hive.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | static mut peers: Vec = Vec::new(); [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `PEERS` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `addPeer` should have a snake case name [INFO] [stderr] --> src/hive.rs:50:11 [INFO] [stderr] | [INFO] [stderr] 50 | unsafe fn addPeer(peer:Peer) -> bool{ [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `add_peer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/hive.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | sender.clone().send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: method `sendProperties` should have a snake case name [INFO] [stderr] --> src/hive.rs:256:14 [INFO] [stderr] | [INFO] [stderr] 256 | async fn sendProperties(&self, peer:&Peer){ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `send_properties` [INFO] [stderr] [INFO] [stderr] warning: method `gotMessage` should have a snake case name [INFO] [stderr] --> src/hive.rs:262:8 [INFO] [stderr] | [INFO] [stderr] 262 | fn gotMessage(&mut self, msg:String){ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `got_message` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | block_on(send(stream, msg)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/peer.rs:141:25 [INFO] [stderr] | [INFO] [stderr] 141 | sender.send(se).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 35 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/hive-78884638e67f5036 [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 [INFO] [stdout] [INFO] [stderr] Doc-tests hive [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 [INFO] [stdout] [INFO] running `"docker" "inspect" "ffb66021cb70255293d17312337137ed103b67fe4ef8efc1bc68b70d537ba045"` [INFO] running `"docker" "rm" "-f" "ffb66021cb70255293d17312337137ed103b67fe4ef8efc1bc68b70d537ba045"` [INFO] [stdout] ffb66021cb70255293d17312337137ed103b67fe4ef8efc1bc68b70d537ba045