[INFO] cloning repository https://github.com/Scurrra/ya
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Scurrra/ya" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FScurrra%2Fya", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FScurrra%2Fya'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 135c45ad91fe362dfba0f5ea2c33e3cbc117e7c3
[INFO] checking Scurrra/ya against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FScurrra%2Fya" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Scurrra/ya
[INFO] finished tweaking git repo https://github.com/Scurrra/ya
[INFO] tweaked toml for git repo https://github.com/Scurrra/ya written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Scurrra/ya on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Scurrra/ya already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-attributes v0.1.23
[INFO] [stderr]   Downloaded sluice v0.5.5
[INFO] [stderr]   Downloaded castaway v0.1.2
[INFO] [stderr]   Downloaded bitflags v2.2.1
[INFO] [stderr]   Downloaded serde_derive v1.0.159
[INFO] [stderr]   Downloaded serde v1.0.159
[INFO] [stderr]   Downloaded curl v0.4.44
[INFO] [stderr]   Downloaded ureq v2.6.2
[INFO] [stderr]   Downloaded reqwest v0.11.16
[INFO] [stderr]   Downloaded syn v2.0.13
[INFO] [stderr]   Downloaded isahc v1.7.2
[INFO] [stderr]   Downloaded rustix v0.37.13
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.3
[INFO] [stderr]   Downloaded libz-sys v1.1.8
[INFO] [stderr]   Downloaded curl-sys v0.4.61+curl-8.0.1
[INFO] [stderr]   Downloaded libnghttp2-sys v0.1.7+1.45.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f96dd4ba684d6647adf29be6f59bd1e2a5d60bec1164c0a681654590ba27e902
[INFO] running `Command { std: "docker" "start" "-a" "f96dd4ba684d6647adf29be6f59bd1e2a5d60bec1164c0a681654590ba27e902", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f96dd4ba684d6647adf29be6f59bd1e2a5d60bec1164c0a681654590ba27e902", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f96dd4ba684d6647adf29be6f59bd1e2a5d60bec1164c0a681654590ba27e902", kill_on_drop: false }`
[INFO] [stdout] f96dd4ba684d6647adf29be6f59bd1e2a5d60bec1164c0a681654590ba27e902
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 79014f8f953e8acd9f762bc9a8401c83117bfb11953f8dc19cd7c5a6d7184280
[INFO] running `Command { std: "docker" "start" "-a" "79014f8f953e8acd9f762bc9a8401c83117bfb11953f8dc19cd7c5a6d7184280", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling syn v2.0.13
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling tokio v1.27.0
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]    Compiling serde_derive v1.0.159
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking tracing-core v0.1.30
[INFO] [stderr]    Compiling openssl v0.10.50
[INFO] [stderr]    Compiling serde v1.0.159
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking cpufeatures v0.2.6
[INFO] [stderr]     Checking digest v0.10.6
[INFO] [stderr]     Checking encoding_rs v0.8.32
[INFO] [stderr]     Checking base64 v0.21.0
[INFO] [stderr]     Checking aes v0.8.2
[INFO] [stderr]     Checking sha2 v0.10.6
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]    Compiling openssl-sys v0.9.85
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking mio v0.8.6
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking futures-util v0.3.28
[INFO] [stderr]     Checking tokio-util v0.7.7
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.3.18
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking hyper v0.14.26
[INFO] [stderr]     Checking bitflags v2.2.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.16
[INFO] [stderr]     Checking yap2p v0.1.2 (/opt/rustwide/workdir/yap2p)
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> yap2p/src/protocols/mbp/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> yap2p/src/protocols/mbp/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque`
[INFO] [stdout]  --> yap2p/src/protocols/mbp/mod.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{VecDeque, HashSet, HashMap};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::task::Waker`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::task::Waker;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::history::*`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::crypto::history::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> yap2p/src/protocols/mbp/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> yap2p/src/protocols/mbp/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque`
[INFO] [stdout]  --> yap2p/src/protocols/mbp/mod.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{VecDeque, HashSet, HashMap};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::task::Waker`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::task::Waker;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::crypto::history::*`
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::crypto::history::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         loop {
[INFO] [stdout] 112 | |             // handling incoming packet 
[INFO] [stdout] 113 | |             let mut buf_array = [0u8; RECEIVE_BUFFER_SIZE];
[INFO] [stdout] 114 | |             let mut readbuf = ReadBuf::new(&mut buf_array);
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 161 |           return Poll::Ready(());
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 111 | /         loop {
[INFO] [stdout] 112 | |             // handling incoming packet 
[INFO] [stdout] 113 | |             let mut buf_array = [0u8; RECEIVE_BUFFER_SIZE];
[INFO] [stdout] 114 | |             let mut readbuf = ReadBuf::new(&mut buf_array);
[INFO] [stdout] ...   |
[INFO] [stdout] 160 | |         }
[INFO] [stdout]     | |_________- any code following this expression is unreachable
[INFO] [stdout] 161 |           return Poll::Ready(());
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp.rs:558:35
[INFO] [stdout]     |
[INFO] [stdout] 558 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp.rs:577:35
[INFO] [stdout]     |
[INFO] [stdout] 577 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1279:56
[INFO] [stdout]      |
[INFO] [stdout] 1279 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1283:55
[INFO] [stdout]      |
[INFO] [stdout] 1283 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1288:57
[INFO] [stdout]      |
[INFO] [stdout] 1288 | ...                   Poll::Ready(Err(e)) => {
[INFO] [stdout]      |                                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1336:60
[INFO] [stdout]      |
[INFO] [stdout] 1336 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1340:59
[INFO] [stdout]      |
[INFO] [stdout] 1340 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1358:21
[INFO] [stdout]      |
[INFO] [stdout] 1358 |                 Err(e) => {
[INFO] [stdout]      |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp_self.rs:507:35
[INFO] [stdout]     |
[INFO] [stdout] 507 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp_self.rs:526:35
[INFO] [stdout]     |
[INFO] [stdout] 526 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1143:29
[INFO] [stdout]      |
[INFO] [stdout] 1143 |                         for receiver in receivers {
[INFO] [stdout]      |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1157:56
[INFO] [stdout]      |
[INFO] [stdout] 1157 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1161:55
[INFO] [stdout]      |
[INFO] [stdout] 1161 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1166:57
[INFO] [stdout]      |
[INFO] [stdout] 1166 | ...                   Poll::Ready(Err(e)) => {
[INFO] [stdout]      |                                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1200:33
[INFO] [stdout]      |
[INFO] [stdout] 1200 | ...                   for receiver in receivers {
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1214:60
[INFO] [stdout]      |
[INFO] [stdout] 1214 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1218:59
[INFO] [stdout]      |
[INFO] [stdout] 1218 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1236:21
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                 Err(e) => {
[INFO] [stdout]      |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contacts`
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let contacts = MeshContacts::deserialize(packet[36..].to_vec());
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contacts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contact`
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     if let Some(contact) = self.static_nodes.iter()
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp.rs:558:35
[INFO] [stdout]     |
[INFO] [stdout] 558 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp.rs:577:35
[INFO] [stdout]     |
[INFO] [stdout] 577 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1279:56
[INFO] [stdout]      |
[INFO] [stdout] 1279 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1283:55
[INFO] [stdout]      |
[INFO] [stdout] 1283 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1288:57
[INFO] [stdout]      |
[INFO] [stdout] 1288 | ...                   Poll::Ready(Err(e)) => {
[INFO] [stdout]      |                                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1336:60
[INFO] [stdout]      |
[INFO] [stdout] 1336 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1340:59
[INFO] [stdout]      |
[INFO] [stdout] 1340 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp.rs:1358:21
[INFO] [stdout]      |
[INFO] [stdout] 1358 |                 Err(e) => {
[INFO] [stdout]      |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_or_add_addr` and `remove_addr` are never used
[INFO] [stdout]    --> yap2p/src/peer/mod.rs:334:19
[INFO] [stdout]     |
[INFO] [stdout] 285 | impl Contact {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub(crate) fn set_or_add_addr(&self, device: u16, address: (Addr, u16)) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub(crate) fn remove_addr(&self, device: u16) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `echo` is never used
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 416 | impl SdpConnection {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 423 |     fn echo(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `echo` is never used
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp_self.rs:370:8
[INFO] [stdout]     |
[INFO] [stdout] 363 | impl SdpSelfConnection {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn echo(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECEIVE_BUFFER_SIZE` is never used
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const RECEIVE_BUFFER_SIZE: usize = 1220;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MeshContacts` is never constructed
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) struct MeshContacts {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `serialize` and `deserialize` are never used
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl MeshContacts {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn serialize(&self) -> Vec<u8> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub(crate) fn deserialize(bytes: Vec<u8>) -> MeshContacts {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scheduler` is never constructed
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct Scheduler {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MbpDriver` is never constructed
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct MbpDriver {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl MbpDriver {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `obtain_ipv4_addr` is never used
[INFO] [stdout]   --> yap2p/src/ip/mod.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) fn obtain_ipv4_addr() -> Option<Ipv4Addr> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_data_for_encryption` is never used
[INFO] [stdout]   --> yap2p/src/utils.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) fn chunk_data_for_encryption(data: impl AsRef<[u8]>) -> Vec<GenericArray<u8, U16>> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> yap2p/src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #![cfg_attr(docsrs, feature(doc_auto_cfg))]
[INFO] [stdout]  2 | | #![warn(missing_docs)]
[INFO] [stdout]  3 | |
[INFO] [stdout]  4 | | pub mod peer;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | pub(crate) mod ip;
[INFO] [stdout] 10 | | pub(crate) mod utils;
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> yap2p/src/lib.rs:2:9
[INFO] [stdout]    |
[INFO] [stdout]  2 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> yap2p/src/crypto/dh.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut A = self.base.pow(log);
[INFO] [stdout]    |                     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> yap2p/src/crypto/dh.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |             let mut A = self.base.pow(log);
[INFO] [stdout]    |                     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         first_packet: Packet,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         rest_of_payload: VecDeque<Vec<u8>>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         first_packet_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         payload: Mutex<VecDeque<Packet>>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp_self.rs:507:35
[INFO] [stdout]     |
[INFO] [stdout] 507 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_bytes_sent`
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp_self.rs:526:35
[INFO] [stdout]     |
[INFO] [stdout] 526 |                         if let Ok(n_bytes_sent) = ready!(self.socket.poll_send_to(
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_bytes_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1143:29
[INFO] [stdout]      |
[INFO] [stdout] 1143 |                         for receiver in receivers {
[INFO] [stdout]      |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1157:56
[INFO] [stdout]      |
[INFO] [stdout] 1157 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1161:55
[INFO] [stdout]      |
[INFO] [stdout] 1161 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1166:57
[INFO] [stdout]      |
[INFO] [stdout] 1166 | ...                   Poll::Ready(Err(e)) => {
[INFO] [stdout]      |                                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1200:33
[INFO] [stdout]      |
[INFO] [stdout] 1200 | ...                   for receiver in receivers {
[INFO] [stdout]      |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1214:60
[INFO] [stdout]      |
[INFO] [stdout] 1214 | ...                   ControlFlow::Break(Err(e)) => {
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n_packets`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1218:59
[INFO] [stdout]      |
[INFO] [stdout] 1218 | ...                   ControlFlow::Continue(n_packets) => {
[INFO] [stdout]      |                                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_packets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> yap2p/src/protocols/sdp/sdp_self.rs:1236:21
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                 Err(e) => {
[INFO] [stdout]      |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contacts`
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let contacts = MeshContacts::deserialize(packet[36..].to_vec());
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contacts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contact`
[INFO] [stdout]    --> yap2p/src/protocols/mbp/mod.rs:146:33
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     if let Some(contact) = self.static_nodes.iter()
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_contact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_or_add_addr` and `remove_addr` are never used
[INFO] [stdout]    --> yap2p/src/peer/mod.rs:334:19
[INFO] [stdout]     |
[INFO] [stdout] 285 | impl Contact {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub(crate) fn set_or_add_addr(&self, device: u16, address: (Addr, u16)) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub(crate) fn remove_addr(&self, device: u16) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `echo` is never used
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 416 | impl SdpConnection {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 423 |     fn echo(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `echo` is never used
[INFO] [stdout]    --> yap2p/src/protocols/sdp/sdp_self.rs:370:8
[INFO] [stdout]     |
[INFO] [stdout] 363 | impl SdpSelfConnection {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn echo(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECEIVE_BUFFER_SIZE` is never used
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const RECEIVE_BUFFER_SIZE: usize = 1220;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MeshContacts` is never constructed
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub(crate) struct MeshContacts {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `serialize` and `deserialize` are never used
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl MeshContacts {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn serialize(&self) -> Vec<u8> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub(crate) fn deserialize(bytes: Vec<u8>) -> MeshContacts {
[INFO] [stdout]    |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scheduler` is never constructed
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct Scheduler {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MbpDriver` is never constructed
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct MbpDriver {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> yap2p/src/protocols/mbp/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl MbpDriver {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `obtain_ipv4_addr` is never used
[INFO] [stdout]   --> yap2p/src/ip/mod.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) fn obtain_ipv4_addr() -> Option<Ipv4Addr> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_data_for_encryption` is never used
[INFO] [stdout]   --> yap2p/src/utils.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) fn chunk_data_for_encryption(data: impl AsRef<[u8]>) -> Vec<GenericArray<u8, U16>> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> yap2p/src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / #![cfg_attr(docsrs, feature(doc_auto_cfg))]
[INFO] [stdout]  2 | | #![warn(missing_docs)]
[INFO] [stdout]  3 | |
[INFO] [stdout]  4 | | pub mod peer;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | pub(crate) mod ip;
[INFO] [stdout] 10 | | pub(crate) mod utils;
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> yap2p/src/lib.rs:2:9
[INFO] [stdout]    |
[INFO] [stdout]  2 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> yap2p/src/crypto/dh.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut A = self.base.pow(log);
[INFO] [stdout]    |                     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> yap2p/src/crypto/dh.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |             let mut A = self.base.pow(log);
[INFO] [stdout]    |                     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |         first_packet: Packet,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         rest_of_payload: VecDeque<Vec<u8>>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         first_packet_id: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> yap2p/src/protocols/sdp/mod.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         payload: Mutex<VecDeque<Packet>>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.42s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: openssl v0.10.50
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "79014f8f953e8acd9f762bc9a8401c83117bfb11953f8dc19cd7c5a6d7184280", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79014f8f953e8acd9f762bc9a8401c83117bfb11953f8dc19cd7c5a6d7184280", kill_on_drop: false }`
[INFO] [stdout] 79014f8f953e8acd9f762bc9a8401c83117bfb11953f8dc19cd7c5a6d7184280
