[INFO] cloning repository https://github.com/dejano-with-tie/directory-over-ip [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dejano-with-tie/directory-over-ip" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdejano-with-tie%2Fdirectory-over-ip", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdejano-with-tie%2Fdirectory-over-ip'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1a1fc664801c544108ea809c643b3a4d9d0bc26f [INFO] checking dejano-with-tie/directory-over-ip against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdejano-with-tie%2Fdirectory-over-ip" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dejano-with-tie/directory-over-ip on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dejano-with-tie/directory-over-ip [INFO] finished tweaking git repo https://github.com/dejano-with-tie/directory-over-ip [INFO] tweaked toml for git repo https://github.com/dejano-with-tie/directory-over-ip written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/dejano-with-tie/directory-over-ip already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a3c7f6be29eee1f75643cb8c43907b0c75938a977bdc8ca0a743314b769f9ee7 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "a3c7f6be29eee1f75643cb8c43907b0c75938a977bdc8ca0a743314b769f9ee7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a3c7f6be29eee1f75643cb8c43907b0c75938a977bdc8ca0a743314b769f9ee7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a3c7f6be29eee1f75643cb8c43907b0c75938a977bdc8ca0a743314b769f9ee7", kill_on_drop: false }` [INFO] [stdout] a3c7f6be29eee1f75643cb8c43907b0c75938a977bdc8ca0a743314b769f9ee7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ed0c3b708f8699925d2d9bfa3458f4e08d85b4fc9e35f80f300dfc3d7819cf4b [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "ed0c3b708f8699925d2d9bfa3458f4e08d85b4fc9e35f80f300dfc3d7819cf4b", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling libc v0.2.80 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Checking futures-core v0.3.8 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking futures-sink v0.3.8 [INFO] [stderr] Checking futures-io v0.3.8 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling cc v1.0.65 [INFO] [stderr] Checking smallvec v1.5.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking linked-hash-map v0.5.3 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Checking gimli v0.23.0 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling unicode-segmentation v1.7.0 [INFO] [stderr] Checking match_cfg v0.1.0 [INFO] [stderr] Checking either v1.6.1 [INFO] [stderr] Checking rustc-demangle v0.1.18 [INFO] [stderr] Checking object v0.22.0 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling encoding_rs v0.8.26 [INFO] [stderr] Compiling native-tls v0.2.6 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking serde v0.8.23 [INFO] [stderr] Checking traitobject v0.1.0 [INFO] [stderr] Checking language-tags v0.2.2 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking humantime v2.0.1 [INFO] [stderr] Checking pin-project-lite v0.2.0 [INFO] [stderr] Checking arc-swap v0.4.7 [INFO] [stderr] Checking rust-ini v0.13.0 [INFO] [stderr] Checking byte v0.2.4 [INFO] [stderr] Checking bytestring v0.1.5 [INFO] [stderr] Checking futures-task v0.3.8 [INFO] [stderr] Checking tinyvec v1.1.0 [INFO] [stderr] Checking lock_api v0.4.2 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking http v0.2.1 [INFO] [stderr] Checking futures-channel v0.3.8 [INFO] [stderr] Checking form_urlencoded v1.0.0 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking yaml-rust v0.4.4 [INFO] [stderr] Checking unsafe-any v0.4.2 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling standback v0.2.13 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling time v0.2.23 [INFO] [stderr] Compiling cookie v0.14.3 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling indexmap v1.6.0 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking typemap v0.3.3 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking unicode-normalization v0.1.16 [INFO] [stderr] Checking lexical-core v0.7.4 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling syn v1.0.48 [INFO] [stderr] Checking regex v1.4.2 [INFO] [stderr] Checking net2 v0.2.35 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking signal-hook-registry v1.2.2 [INFO] [stderr] Checking parking_lot_core v0.8.0 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Checking socket2 v0.3.16 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking thread-id v3.3.0 [INFO] [stderr] Compiling openssl-sys v0.9.58 [INFO] [stderr] Compiling brotli-sys v0.3.2 [INFO] [stderr] Compiling rstest v0.6.4 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking serde_test v0.8.23 [INFO] [stderr] Checking crossbeam-channel v0.4.4 [INFO] [stderr] Checking addr2line v0.14.0 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking resolv-conf v0.7.0 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking flate2 v1.0.19 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking ordered-float v2.0.0 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking linked-hash-map v0.3.0 [INFO] [stderr] Checking backtrace v0.3.55 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking stun v0.0.2 [INFO] [stderr] Checking serde-hjson v0.9.1 [INFO] [stderr] Compiling openssl v0.10.30 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking sha-1 v0.9.2 [INFO] [stderr] Checking url v2.2.0 [INFO] [stderr] Checking brotli2 v0.3.2 [INFO] [stderr] Compiling serde_derive v1.0.117 [INFO] [stderr] Compiling tokio-macros v0.2.6 [INFO] [stderr] Compiling pin-project-internal v1.0.2 [INFO] [stderr] Compiling futures-macro v0.3.8 [INFO] [stderr] Compiling pin-project-internal v0.4.27 [INFO] [stderr] Compiling derive_more v0.99.11 [INFO] [stderr] Compiling actix-macros v0.1.2 [INFO] [stderr] Compiling thiserror-impl v1.0.22 [INFO] [stderr] Compiling enum-as-inner v0.3.3 [INFO] [stderr] Compiling async-trait v0.1.42 [INFO] [stderr] Compiling time-macros-impl v0.1.1 [INFO] [stderr] Compiling derivative v2.1.1 [INFO] [stderr] Compiling actix-web-codegen v0.4.0 [INFO] [stderr] Compiling actix_derive v0.5.0 [INFO] [stderr] Checking time-macros v0.1.1 [INFO] [stderr] Checking thiserror v1.0.22 [INFO] [stderr] Checking pin-project v1.0.2 [INFO] [stderr] Checking futures-util v0.3.8 [INFO] [stderr] Checking pin-project v0.4.27 [INFO] [stderr] Checking serde v1.0.117 [INFO] [stderr] Checking actix-service v1.0.6 [INFO] [stderr] Checking futures v0.3.8 [INFO] [stderr] Checking log v0.4.11 [INFO] [stderr] Checking serde_json v1.0.59 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking serde_yaml v0.8.14 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking toml v0.5.7 [INFO] [stderr] Checking bincode v1.3.1 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Checking actix-threadpool v0.3.3 [INFO] [stderr] Checking tracing v0.1.21 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking actix-router v0.2.5 [INFO] [stderr] Checking tracing-futures v0.2.4 [INFO] [stderr] Checking log4rs v1.0.0-alpha-2 [INFO] [stderr] Checking config v0.10.1 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking tokio v0.2.23 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking actix-rt v1.1.1 [INFO] [stderr] Checking trust-dns-proto v0.19.6 [INFO] [stderr] Checking tokio-tls v0.3.1 [INFO] [stderr] Checking actix-codec v0.3.0 [INFO] [stderr] Checking h2 v0.2.7 [INFO] [stderr] Checking actix-utils v2.0.0 [INFO] [stderr] Checking actix-server v1.0.4 [INFO] [stderr] Checking actix-tls v2.0.0 [INFO] [stderr] Checking actix-testing v1.0.1 [INFO] [stderr] Checking trust-dns-resolver v0.19.6 [INFO] [stderr] Checking actix-connect v2.0.0 [INFO] [stderr] Checking actix v0.10.0 [INFO] [stderr] Checking hyper v0.13.9 [INFO] [stderr] Checking actix-http v2.1.0 [INFO] [stderr] Checking awc v2.0.1 [INFO] [stderr] Checking actix-web v3.2.0 [INFO] [stderr] Checking hyper-tls v0.4.3 [INFO] [stderr] Checking reqwest v0.10.9 [INFO] [stderr] Checking doip v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `crate::protocols::gossip::gossip::Message` [INFO] [stdout] --> src/net/bootstrap.rs:15:39 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::protocols::gossip::gossip::Message::Join; [INFO] [stdout] | ^^^^^^^ could not find `Message` in `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `members` in this scope [INFO] [stdout] --> src/protocols/gossip/gossip.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | members.iter().for_each(|m| { [INFO] [stdout] | ^^^^^^^ help: a local variable with a similar name exists: `member` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::protocols::gossip::gossip::Message` [INFO] [stdout] --> src/net/bootstrap.rs:15:39 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::protocols::gossip::gossip::Message::Join; [INFO] [stdout] | ^^^^^^^ could not find `Message` in `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/protocols/gossip/gossip.rs:39:33 [INFO] [stdout] | [INFO] [stdout] 39 | .for_each(|&member| self.send(message, member).await); [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] | | [INFO] [stdout] | this is not `async` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/net/bootstrap.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/net/bootstrap.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Actor`, `Addr`, `Supervisor`, `SystemRegistry` [INFO] [stdout] --> src/net/bootstrap.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use actix::{Actor, Addr, Supervisor, SystemRegistry}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Service` [INFO] [stdout] --> src/net/bootstrap.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | use actix_web::dev::{Server, Service}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/net/bootstrap.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | use log::{debug, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::Client` [INFO] [stdout] --> src/net/bootstrap.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use reqwest::Client; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Address` [INFO] [stdout] --> src/net/bootstrap.rs:19:40 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::protocols::swim::messages::{Address, ContactAddr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SwimActor` [INFO] [stdout] --> src/net/bootstrap.rs:20:42 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::protocols::swim::swim::{Node, SwimActor}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix::prelude::*` [INFO] [stdout] --> src/http/routes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `App`, `HttpServer`, `web` [INFO] [stdout] --> src/http/routes.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use actix_web::{App, get, HttpResponse, HttpServer, post, Responder, web}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/protocols/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `derive_more::Display` [INFO] [stdout] --> src/protocols/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use derive_more::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/protocols/swim/routes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix::SystemService` [INFO] [stdout] --> src/protocols/swim/routes.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use actix::SystemService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/protocols/swim/swim.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/protocols/swim/swim.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/protocols/swim/swim.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/protocols/swim/swim.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SocketAddr`, `ToSocketAddrs` [INFO] [stdout] --> src/protocols/swim/swim.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::net::{SocketAddr, ToSocketAddrs}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/protocols/swim/swim.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::{Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/protocols/swim/swim.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/protocols/swim/swim.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::blocking::Client` [INFO] [stdout] --> src/protocols/swim/swim.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use reqwest::blocking::Client; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::Duration` [INFO] [stdout] --> src/protocols/swim/swim.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocols` [INFO] [stdout] --> src/protocols/swim/swim.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::protocols; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocols::swim::http_client` [INFO] [stdout] --> src/protocols/swim/swim.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::protocols::swim::http_client; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/protocols/swim/messages.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned` [INFO] [stdout] --> src/protocols/swim/http_client.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::de::DeserializeOwned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::config::Settings` [INFO] [stdout] --> src/protocols/swim/http_client.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::config::Settings; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocols::Error` [INFO] [stdout] --> src/protocols/swim/http_client.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::protocols::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Address` [INFO] [stdout] --> src/protocols/swim/http_client.rs:10:40 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::protocols::swim::messages::{Address, ContactAddr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `members` in this scope [INFO] [stdout] --> src/protocols/gossip/gossip.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | members.iter().for_each(|m| { [INFO] [stdout] | ^^^^^^^ help: a local variable with a similar name exists: `member` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/protocols/gossip/gossip.rs:39:33 [INFO] [stdout] | [INFO] [stdout] 39 | .for_each(|&member| self.send(message, member).await); [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] | | [INFO] [stdout] | this is not `async` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/net/bootstrap.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex` [INFO] [stdout] --> src/net/bootstrap.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::sync::{Arc, Mutex, RwLock}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Actor`, `Addr`, `Supervisor`, `SystemRegistry` [INFO] [stdout] --> src/net/bootstrap.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use actix::{Actor, Addr, Supervisor, SystemRegistry}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Service` [INFO] [stdout] --> src/net/bootstrap.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | use actix_web::dev::{Server, Service}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/net/bootstrap.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | use log::{debug, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::Client` [INFO] [stdout] --> src/net/bootstrap.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use reqwest::Client; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Address` [INFO] [stdout] --> src/net/bootstrap.rs:19:40 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::protocols::swim::messages::{Address, ContactAddr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SwimActor` [INFO] [stdout] --> src/net/bootstrap.rs:20:42 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::protocols::swim::swim::{Node, SwimActor}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix::prelude::*` [INFO] [stdout] --> src/http/routes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use actix::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `App`, `HttpServer`, `web` [INFO] [stdout] --> src/http/routes.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use actix_web::{App, get, HttpResponse, HttpServer, post, Responder, web}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/protocols/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `derive_more::Display` [INFO] [stdout] --> src/protocols/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use derive_more::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/protocols/swim/routes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix::SystemService` [INFO] [stdout] --> src/protocols/swim/routes.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use actix::SystemService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::BorrowMut` [INFO] [stdout] --> src/protocols/swim/swim.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::BorrowMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/protocols/swim/swim.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/protocols/swim/swim.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/protocols/swim/swim.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SocketAddr`, `ToSocketAddrs` [INFO] [stdout] --> src/protocols/swim/swim.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::net::{SocketAddr, ToSocketAddrs}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/protocols/swim/swim.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::{Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/protocols/swim/swim.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/protocols/swim/swim.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reqwest::blocking::Client` [INFO] [stdout] --> src/protocols/swim/swim.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use reqwest::blocking::Client; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::Duration` [INFO] [stdout] --> src/protocols/swim/swim.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocols` [INFO] [stdout] --> src/protocols/swim/swim.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::protocols; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocols::swim::http_client` [INFO] [stdout] --> src/protocols/swim/swim.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::protocols::swim::http_client; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/protocols/swim/messages.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned` [INFO] [stdout] --> src/protocols/swim/http_client.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::de::DeserializeOwned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::config::Settings` [INFO] [stdout] --> src/protocols/swim/http_client.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::config::Settings; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::protocols::Error` [INFO] [stdout] --> src/protocols/swim/http_client.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::protocols::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Address` [INFO] [stdout] --> src/protocols/swim/http_client.rs:10:40 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::protocols::swim::messages::{Address, ContactAddr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `settings` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:78:36 [INFO] [stdout] | [INFO] [stdout] 78 | let known_node_addr = self.settings.net.known_node.clone(); [INFO] [stdout] | ^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | let me = self.me.addr.0.clone(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `settings` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:78:36 [INFO] [stdout] | [INFO] [stdout] 78 | let known_node_addr = self.settings.net.known_node.clone(); [INFO] [stdout] | ^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:79:23 [INFO] [stdout] | [INFO] [stdout] 79 | let me = self.me.addr.0.clone(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:83:18 [INFO] [stdout] | [INFO] [stdout] 83 | self.me.members.write().unwrap().push(ContactAddr(known_node_addr.clone())); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | self.me = self.http_client [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `http_client` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:88:24 [INFO] [stdout] | [INFO] [stdout] 88 | self.me = self.http_client [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:83:18 [INFO] [stdout] | [INFO] [stdout] 83 | self.me.members.write().unwrap().push(ContactAddr(known_node_addr.clone())); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | self.me = self.http_client [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:91:32 [INFO] [stdout] | [INFO] [stdout] 91 | .consume(&mut self.me); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `http_client` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:88:24 [INFO] [stdout] | [INFO] [stdout] 88 | self.me = self.http_client [INFO] [stdout] | ^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `&mut bootstrap::Net` [INFO] [stdout] --> src/net/bootstrap.rs:91:32 [INFO] [stdout] | [INFO] [stdout] 91 | .consume(&mut self.me); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:36:57 [INFO] [stdout] | [INFO] [stdout] 36 | debug!("{:?}: Received join request from {:?}", net.me.addr, req); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:41:31 [INFO] [stdout] | [INFO] [stdout] 41 | let mut members = net.me.members.read().unwrap(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:49:31 [INFO] [stdout] | [INFO] [stdout] 49 | let mut members = net.me.members.write().unwrap(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:55:31 [INFO] [stdout] | [INFO] [stdout] 55 | let mut members = net.me.members.read().unwrap(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:56:52 [INFO] [stdout] | [INFO] [stdout] 56 | debug!("[{:?}] Network members: {:?}", net.me.addr, *members); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:36:57 [INFO] [stdout] | [INFO] [stdout] 36 | debug!("{:?}: Received join request from {:?}", net.me.addr, req); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:57:72 [INFO] [stdout] | [INFO] [stdout] 57 | let members_without_me = remove(&members, &vec![&to_join, &net.me.addr]); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:41:31 [INFO] [stdout] | [INFO] [stdout] 41 | let mut members = net.me.members.read().unwrap(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:49:31 [INFO] [stdout] | [INFO] [stdout] 49 | let mut members = net.me.members.write().unwrap(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/protocols/swim/routes.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | Gossip::send(String::from(format!("joined {}", &to_join.0)), &to_gossip).await; [INFO] [stdout] | ^^^^^^^^^^^^ ---------------------------------------------- ---------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 3 arguments [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/protocols/gossip/gossip.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn send(&self, message: &GossipMessage, member: &ContactAddr) { [INFO] [stdout] | ^^^^ ----- ----------------------- -------------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:55:31 [INFO] [stdout] | [INFO] [stdout] 55 | let mut members = net.me.members.read().unwrap(); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:56:52 [INFO] [stdout] | [INFO] [stdout] 56 | debug!("[{:?}] Network members: {:?}", net.me.addr, *members); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:81:39 [INFO] [stdout] | [INFO] [stdout] 81 | HttpResponse::Ok().json(&*net.me.members.read().unwrap()) [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:57:72 [INFO] [stdout] | [INFO] [stdout] 57 | let members_without_me = remove(&members, &vec![&to_join, &net.me.addr]); [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:87:35 [INFO] [stdout] | [INFO] [stdout] 87 | HttpResponse::Ok().json(&*net.me.members.read().unwrap()) [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/protocols/swim/routes.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | Gossip::send(String::from(format!("joined {}", &to_join.0)), &to_gossip).await; [INFO] [stdout] | ^^^^^^^^^^^^ ---------------------------------------------- ---------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 3 arguments [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/protocols/gossip/gossip.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn send(&self, message: &GossipMessage, member: &ContactAddr) { [INFO] [stdout] | ^^^^ ----- ----------------------- -------------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:81:39 [INFO] [stdout] | [INFO] [stdout] 81 | HttpResponse::Ok().json(&*net.me.members.read().unwrap()) [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `me` on type `Data` [INFO] [stdout] --> src/protocols/swim/routes.rs:87:35 [INFO] [stdout] | [INFO] [stdout] 87 | HttpResponse::Ok().json(&*net.me.members.read().unwrap()) [INFO] [stdout] | ^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0053]: method `select` has an incompatible type for trait [INFO] [stdout] --> src/protocols/gossip/gossip.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 21 | fn select(&self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr>; [INFO] [stdout] | ----- type in trait [INFO] [stdout] ... [INFO] [stdout] 27 | fn select(&mut self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr> { [INFO] [stdout] | ^^^^^^^^^ types differ in mutability [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `fn(&RandomSelectStrategy, &Vec, _) -> Vec<&messages::ContactAddr>` [INFO] [stdout] found fn pointer `fn(&mut RandomSelectStrategy, &Vec, _) -> Vec<&messages::ContactAddr>` [INFO] [stdout] help: consider change the type to match the mutability in trait [INFO] [stdout] | [INFO] [stdout] 27 | fn select(&self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `bootstrap::Net` has no field named `settings` [INFO] [stdout] --> src/net/bootstrap.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | settings, [INFO] [stdout] | ^^^^^^^^ `bootstrap::Net` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `bootstrap::Net` has no field named `http_client` [INFO] [stdout] --> src/net/bootstrap.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | http_client, [INFO] [stdout] | ^^^^^^^^^^^ `bootstrap::Net` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `bootstrap::Net` has no field named `me` [INFO] [stdout] --> src/net/bootstrap.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | me: node, [INFO] [stdout] | ^^ `bootstrap::Net` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `(dyn SelectStrategy + 'static)` cannot be sent between threads safely [INFO] [stdout] --> src/net/bootstrap.rs:99:22 [INFO] [stdout] | [INFO] [stdout] 99 | let server = HttpServer::new(move || { [INFO] [stdout] | ^^^^^^^^^^^^^^^ `(dyn SelectStrategy + 'static)` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::marker::Send` is not implemented for `(dyn SelectStrategy + 'static)` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Unique<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `Box<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `protocols::gossip::gossip::Gossip` [INFO] [stdout] = note: required because it appears within the type `bootstrap::Net` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc` [INFO] [stdout] = note: required because it appears within the type `Data` [INFO] [stdout] = note: required because it appears within the type `[closure@src/net/bootstrap.rs:99:38: 107:10]` [INFO] [stdout] = note: required by `HttpServer::::new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0053]: method `select` has an incompatible type for trait [INFO] [stdout] --> src/protocols/gossip/gossip.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 21 | fn select(&self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr>; [INFO] [stdout] | ----- type in trait [INFO] [stdout] ... [INFO] [stdout] 27 | fn select(&mut self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr> { [INFO] [stdout] | ^^^^^^^^^ types differ in mutability [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `fn(&RandomSelectStrategy, &Vec, _) -> Vec<&messages::ContactAddr>` [INFO] [stdout] found fn pointer `fn(&mut RandomSelectStrategy, &Vec, _) -> Vec<&messages::ContactAddr>` [INFO] [stdout] help: consider change the type to match the mutability in trait [INFO] [stdout] | [INFO] [stdout] 27 | fn select(&self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `bootstrap::Net` has no field named `settings` [INFO] [stdout] --> src/net/bootstrap.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | settings, [INFO] [stdout] | ^^^^^^^^ `bootstrap::Net` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `bootstrap::Net` has no field named `http_client` [INFO] [stdout] --> src/net/bootstrap.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | http_client, [INFO] [stdout] | ^^^^^^^^^^^ `bootstrap::Net` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `bootstrap::Net` has no field named `me` [INFO] [stdout] --> src/net/bootstrap.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | me: node, [INFO] [stdout] | ^^ `bootstrap::Net` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `gossip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `(dyn SelectStrategy + 'static)` cannot be shared between threads safely [INFO] [stdout] --> src/net/bootstrap.rs:99:22 [INFO] [stdout] | [INFO] [stdout] 99 | let server = HttpServer::new(move || { [INFO] [stdout] | ^^^^^^^^^^^^^^^ `(dyn SelectStrategy + 'static)` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `(dyn SelectStrategy + 'static)` [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `Unique<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `Box<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `protocols::gossip::gossip::Gossip` [INFO] [stdout] = note: required because it appears within the type `bootstrap::Net` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc` [INFO] [stdout] = note: required because it appears within the type `Data` [INFO] [stdout] = note: required because it appears within the type `[closure@src/net/bootstrap.rs:99:38: 107:10]` [INFO] [stdout] = note: required by `HttpServer::::new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `(dyn SelectStrategy + 'static)` cannot be sent between threads safely [INFO] [stdout] --> src/net/bootstrap.rs:99:22 [INFO] [stdout] | [INFO] [stdout] 99 | let server = HttpServer::new(move || { [INFO] [stdout] | ^^^^^^^^^^^^^^^ `(dyn SelectStrategy + 'static)` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::marker::Send` is not implemented for `(dyn SelectStrategy + 'static)` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Unique<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `Box<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `protocols::gossip::gossip::Gossip` [INFO] [stdout] = note: required because it appears within the type `bootstrap::Net` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc` [INFO] [stdout] = note: required because it appears within the type `Data` [INFO] [stdout] = note: required because it appears within the type `[closure@src/net/bootstrap.rs:99:38: 107:10]` [INFO] [stdout] = note: required by `HttpServer::::new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `(dyn SelectStrategy + 'static)` cannot be shared between threads safely [INFO] [stdout] --> src/net/bootstrap.rs:99:22 [INFO] [stdout] | [INFO] [stdout] 99 | let server = HttpServer::new(move || { [INFO] [stdout] | ^^^^^^^^^^^^^^^ `(dyn SelectStrategy + 'static)` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sync` is not implemented for `(dyn SelectStrategy + 'static)` [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `Unique<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `Box<(dyn SelectStrategy + 'static)>` [INFO] [stdout] = note: required because it appears within the type `protocols::gossip::gossip::Gossip` [INFO] [stdout] = note: required because it appears within the type `bootstrap::Net` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc` [INFO] [stdout] = note: required because it appears within the type `Data` [INFO] [stdout] = note: required because it appears within the type `[closure@src/net/bootstrap.rs:99:38: 107:10]` [INFO] [stdout] = note: required by `HttpServer::::new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/protocols/gossip/gossip.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | fn select(&mut self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr> { [INFO] [stdout] | ----------------- ----------------- [INFO] [stdout] | | [INFO] [stdout] | this parameter and the return type are declared with different lifetimes... [INFO] [stdout] 28 | / (0..how_many) [INFO] [stdout] 29 | | .map(|_i| nodes.get(self.0.gen_range(0, nodes.len())).unwrap()) [INFO] [stdout] 30 | | .collect() [INFO] [stdout] | |______________________^ ...but data from `nodes` is returned here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 25 previous errors; 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0053, E0061, E0277, E0425, E0432, E0560, E0609, E0623, E0728. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0053`. [INFO] [stdout] [INFO] [stderr] error: could not compile `doip` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0623]: lifetime mismatch [INFO] [stdout] --> src/protocols/gossip/gossip.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | fn select(&mut self, nodes: &Vec, how_many: u16) -> Vec<&ContactAddr> { [INFO] [stdout] | ----------------- ----------------- [INFO] [stdout] | | [INFO] [stdout] | this parameter and the return type are declared with different lifetimes... [INFO] [stdout] 28 | / (0..how_many) [INFO] [stdout] 29 | | .map(|_i| nodes.get(self.0.gen_range(0, nodes.len())).unwrap()) [INFO] [stdout] 30 | | .collect() [INFO] [stdout] | |______________________^ ...but data from `nodes` is returned here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 25 previous errors; 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0053, E0061, E0277, E0425, E0432, E0560, E0609, E0623, E0728. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0053`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "ed0c3b708f8699925d2d9bfa3458f4e08d85b4fc9e35f80f300dfc3d7819cf4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed0c3b708f8699925d2d9bfa3458f4e08d85b4fc9e35f80f300dfc3d7819cf4b", kill_on_drop: false }` [INFO] [stdout] ed0c3b708f8699925d2d9bfa3458f4e08d85b4fc9e35f80f300dfc3d7819cf4b