[INFO] cloning repository https://github.com/GDev268/Sockkit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GDev268/Sockkit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGDev268%2FSockkit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGDev268%2FSockkit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 09768a99e3bdd2f399c02d900417880ce63cd4d6
[INFO] testing GDev268/Sockkit against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGDev268%2FSockkit" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/GDev268/Sockkit
[INFO] finished tweaking git repo https://github.com/GDev268/Sockkit
[INFO] tweaked toml for git repo https://github.com/GDev268/Sockkit written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/GDev268/Sockkit on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/GDev268/Sockkit 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bitflags v2.9.2
[INFO] [stderr]   Downloaded io-uring v0.7.9
[INFO] [stderr]   Downloaded uflow v0.7.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] baff2c4ff40fdfc5744f3ad4823ae300f28bad53881aa651c31880d86d834367
[INFO] running `Command { std: "docker" "start" "-a" "baff2c4ff40fdfc5744f3ad4823ae300f28bad53881aa651c31880d86d834367", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "baff2c4ff40fdfc5744f3ad4823ae300f28bad53881aa651c31880d86d834367", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "baff2c4ff40fdfc5744f3ad4823ae300f28bad53881aa651c31880d86d834367", kill_on_drop: false }`
[INFO] [stdout] baff2c4ff40fdfc5744f3ad4823ae300f28bad53881aa651c31880d86d834367
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d8fb782148de3f6da395d196b2f456e789cb75845c0e9a03ad7251bbedb6ccf
[INFO] running `Command { std: "docker" "start" "-a" "2d8fb782148de3f6da395d196b2f456e789cb75845c0e9a03ad7251bbedb6ccf", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling nanorand v0.7.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling uflow v0.7.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling sockkit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/udpclient.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle as AsyncJoinHandle`
[INFO] [stdout]   --> src/udpclient.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::task::JoinHandle as AsyncJoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/udpstream.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::udpclient::UdpClient`
[INFO] [stdout]   --> src/udpstream.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::udpclient::UdpClient;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam::queue::SegQueue`
[INFO] [stdout]  --> src/udpserver.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossbeam::queue::SegQueue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryRecvError`
[INFO] [stdout]  --> src/udpserver.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flume::{Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/udpserver.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/udpserver.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uflow::SendMode`
[INFO] [stdout]   --> src/udpserver.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use uflow::SendMode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RemoteClient`
[INFO] [stdout]   --> src/udpserver.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uflow::server::{Config, RemoteClient, Server};
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `inherent_str_constructors` has been stable since 1.87.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(inherent_str_constructors)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/udpclient.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         mut stream: UflowClient,
[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: `BytesMut`
[INFO] [stdout]    --> src/bytechannel.rs:208:38
[INFO] [stdout]     |
[INFO] [stdout] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stdout]     |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `BytesMut`
[INFO] [stdout]    --> src/bytechannel.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/udpserver.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         if let Err(e) = new_clients.send((addr, Ok(stream))) {
[INFO] [stdout]    |                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RawPacket` is more private than the item `UdpStream::new`
[INFO] [stdout]   --> src/udpstream.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | /     pub fn new(
[INFO] [stdout] 38 | |         addr: SocketAddr,
[INFO] [stdout] 39 | |         stream_tx: Sender<(SocketAddr,RawPacket)>,
[INFO] [stdout] 40 | |         stream_rx: Receiver<Event>,
[INFO] [stdout] 41 | |         handle: tokio::runtime::Handle
[INFO] [stdout] 42 | |     ) -> Self {
[INFO] [stdout]    | |_____________^ associated function `UdpStream::new` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RawPacket` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/utils.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub(crate) struct RawPacket {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reader` is never used
[INFO] [stdout]   --> src/lib.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) trait Reader: Sized {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Writer` is never used
[INFO] [stdout]   --> src/lib.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) trait Writer {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `addr` is never read
[INFO] [stdout]   --> src/tcpstream.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct TcpStream {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 10 |     addr: SocketAddr,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_rx` is never read
[INFO] [stdout]   --> src/udpclient.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct UdpClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     error_rx: Receiver<ErrorType>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unrestricted` is never constructed
[INFO] [stdout]  --> src/bytechannel.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum ByteMode {
[INFO] [stdout]   |                 -------- variant in this enum
[INFO] [stdout] 8 |     Restricted(usize),
[INFO] [stdout] 9 |     Unrestricted,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ByteMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_sync`, `is_disconnected`, and `disconnect` are never used
[INFO] [stdout]   --> src/bytechannel.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl ByteReader {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 42 |     pub(crate) fn read_sync(&self) -> Result<BytesMut, ReadError> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `take_capacity`, `write_sync`, `is_disconnected`, and `disconnect` are never used
[INFO] [stdout]    --> src/bytechannel.rs:91:19
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl ByteWriter {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout]  91 |     pub(crate) fn take_capacity(&mut self,additional_data: usize) -> BytesMut {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub(crate) fn write_sync(&mut self, mut data: BytesMut) -> Result<(), WriteError> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Full` is never constructed
[INFO] [stdout]    --> src/bytechannel.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub(crate) enum WriteError {
[INFO] [stdout]     |                 ---------- variant in this enum
[INFO] [stdout] 201 |     Disconnected(BytesMut),
[INFO] [stdout] 202 |     Full(BytesMut),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WriteError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]    --> src/bytechannel.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub(crate) enum ReadError {
[INFO] [stdout]     |                 --------- variant in this enum
[INFO] [stdout] 216 |     Disconnected,
[INFO] [stdout] 217 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `THREAD_SLEEP_TIME` is never used
[INFO] [stdout]   --> src/udpstream.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const THREAD_SLEEP_TIME: Duration = Duration::from_millis(1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_rx` is never read
[INFO] [stdout]   --> src/udpstream.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct UdpStream {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     error_rx: Receiver<ErrorType>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UdpStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> src/backpressurebuffer.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<T> BackpressureBuffer<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub(crate) fn flush(&mut self) -> impl Iterator<Item = T> {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `thread_handle` is never read
[INFO] [stdout]   --> src/udpserver.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct UdpServer {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     thread_handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BytesMut` should have a snake case name
[INFO] [stdout]    --> src/bytechannel.rs:208:38
[INFO] [stdout]     |
[INFO] [stdout] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stdout]     |                                      ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[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 `BytesMut` should have a snake case name
[INFO] [stdout]    --> src/bytechannel.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stdout]     |                              ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.35s
[INFO] running `Command { std: "docker" "inspect" "2d8fb782148de3f6da395d196b2f456e789cb75845c0e9a03ad7251bbedb6ccf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d8fb782148de3f6da395d196b2f456e789cb75845c0e9a03ad7251bbedb6ccf", kill_on_drop: false }`
[INFO] [stdout] 2d8fb782148de3f6da395d196b2f456e789cb75845c0e9a03ad7251bbedb6ccf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 09e936064581dc1e75b0dfa5341af141c3ad645673e7a0f928c7ce70bba10e1e
[INFO] running `Command { std: "docker" "start" "-a" "09e936064581dc1e75b0dfa5341af141c3ad645673e7a0f928c7ce70bba10e1e", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/udpclient.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle as AsyncJoinHandle`
[INFO] [stdout]   --> src/udpclient.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::task::JoinHandle as AsyncJoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/udpstream.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::udpclient::UdpClient`
[INFO] [stdout]   --> src/udpstream.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::udpclient::UdpClient;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam::queue::SegQueue`
[INFO] [stdout]  --> src/udpserver.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossbeam::queue::SegQueue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryRecvError`
[INFO] [stdout]  --> src/udpserver.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flume::{Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/udpserver.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/udpserver.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uflow::SendMode`
[INFO] [stdout]   --> src/udpserver.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use uflow::SendMode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RemoteClient`
[INFO] [stdout]   --> src/udpserver.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uflow::server::{Config, RemoteClient, Server};
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `inherent_str_constructors` has been stable since 1.87.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(inherent_str_constructors)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/udpclient.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         mut stream: UflowClient,
[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: `BytesMut`
[INFO] [stdout]    --> src/bytechannel.rs:208:38
[INFO] [stdout]     |
[INFO] [stdout] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stdout]     |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `BytesMut`
[INFO] [stdout]    --> src/bytechannel.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/udpserver.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         if let Err(e) = new_clients.send((addr, Ok(stream))) {
[INFO] [stdout]    |                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RawPacket` is more private than the item `UdpStream::new`
[INFO] [stdout]   --> src/udpstream.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | /     pub fn new(
[INFO] [stdout] 38 | |         addr: SocketAddr,
[INFO] [stdout] 39 | |         stream_tx: Sender<(SocketAddr,RawPacket)>,
[INFO] [stdout] 40 | |         stream_rx: Receiver<Event>,
[INFO] [stdout] 41 | |         handle: tokio::runtime::Handle
[INFO] [stdout] 42 | |     ) -> Self {
[INFO] [stdout]    | |_____________^ associated function `UdpStream::new` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RawPacket` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/utils.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub(crate) struct RawPacket {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reader` is never used
[INFO] [stdout]   --> src/lib.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) trait Reader: Sized {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Writer` is never used
[INFO] [stdout]   --> src/lib.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) trait Writer {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `addr` is never read
[INFO] [stdout]   --> src/tcpstream.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct TcpStream {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 10 |     addr: SocketAddr,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_rx` is never read
[INFO] [stdout]   --> src/udpclient.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct UdpClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     error_rx: Receiver<ErrorType>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unrestricted` is never constructed
[INFO] [stdout]  --> src/bytechannel.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum ByteMode {
[INFO] [stdout]   |                 -------- variant in this enum
[INFO] [stdout] 8 |     Restricted(usize),
[INFO] [stdout] 9 |     Unrestricted,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ByteMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_sync`, `is_disconnected`, and `disconnect` are never used
[INFO] [stdout]   --> src/bytechannel.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl ByteReader {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 42 |     pub(crate) fn read_sync(&self) -> Result<BytesMut, ReadError> {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `take_capacity`, `write_sync`, `is_disconnected`, and `disconnect` are never used
[INFO] [stdout]    --> src/bytechannel.rs:91:19
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl ByteWriter {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout]  91 |     pub(crate) fn take_capacity(&mut self,additional_data: usize) -> BytesMut {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub(crate) fn write_sync(&mut self, mut data: BytesMut) -> Result<(), WriteError> {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Full` is never constructed
[INFO] [stdout]    --> src/bytechannel.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub(crate) enum WriteError {
[INFO] [stdout]     |                 ---------- variant in this enum
[INFO] [stdout] 201 |     Disconnected(BytesMut),
[INFO] [stdout] 202 |     Full(BytesMut),
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WriteError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]    --> src/bytechannel.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub(crate) enum ReadError {
[INFO] [stdout]     |                 --------- variant in this enum
[INFO] [stdout] 216 |     Disconnected,
[INFO] [stdout] 217 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReadError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `THREAD_SLEEP_TIME` is never used
[INFO] [stdout]   --> src/udpstream.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const THREAD_SLEEP_TIME: Duration = Duration::from_millis(1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_rx` is never read
[INFO] [stdout]   --> src/udpstream.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct UdpStream {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     error_rx: Receiver<ErrorType>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UdpStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> src/backpressurebuffer.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<T> BackpressureBuffer<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub(crate) fn flush(&mut self) -> impl Iterator<Item = T> {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `thread_handle` is never read
[INFO] [stdout]   --> src/udpserver.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct UdpServer {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     thread_handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BytesMut` should have a snake case name
[INFO] [stdout]    --> src/bytechannel.rs:208:38
[INFO] [stdout]     |
[INFO] [stdout] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stdout]     |                                      ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[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 `BytesMut` should have a snake case name
[INFO] [stdout]    --> src/bytechannel.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stdout]     |                              ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sockkit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/udpclient.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle as AsyncJoinHandle`
[INFO] [stdout]   --> src/udpclient.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::task::JoinHandle as AsyncJoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]    --> src/udpclient.rs:282:33
[INFO] [stdout]     |
[INFO] [stdout] 282 |     use tokio::time::{Duration, sleep, timeout};
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/udpstream.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::udpclient::UdpClient`
[INFO] [stdout]   --> src/udpstream.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::udpclient::UdpClient;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam::queue::SegQueue`
[INFO] [stdout]  --> src/udpserver.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossbeam::queue::SegQueue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryRecvError`
[INFO] [stdout]  --> src/udpserver.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use flume::{Receiver, Sender, TryRecvError};
[INFO] [stdout]   |                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/udpserver.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/udpserver.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uflow::SendMode`
[INFO] [stdout]   --> src/udpserver.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use uflow::SendMode;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RemoteClient`
[INFO] [stdout]   --> src/udpserver.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uflow::server::{Config, RemoteClient, Server};
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/lib.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `inherent_str_constructors` has been stable since 1.87.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(inherent_str_constructors)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/udpclient.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         mut stream: UflowClient,
[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: `BytesMut`
[INFO] [stdout]    --> src/bytechannel.rs:208:38
[INFO] [stdout]     |
[INFO] [stdout] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stdout]     |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `BytesMut`
[INFO] [stdout]    --> src/bytechannel.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bytechannel.rs:236:26
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let (mut sender, mut receiver) = byte_channel(ByteMode::Restricted(4));
[INFO] [stdout]     |                          ----^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bytechannel.rs:251:26
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let (mut sender, mut receiver) = byte_channel(ByteMode::Restricted(4));
[INFO] [stdout]     |                          ----^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bytechannel.rs:271:26
[INFO] [stdout]     |
[INFO] [stdout] 271 |         let (mut writer, mut reader) = byte_channel(ByteMode::Restricted(10));
[INFO] [stdout]     |                          ----^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream_rx`
[INFO] [stdout]    --> src/udpstream.rs:230:25
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let (stream_tx, stream_rx) = unbounded::<(SocketAddr,RawPacket)>();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/udpserver.rs:84:36
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         if let Err(e) = new_clients.send((addr, Ok(stream))) {
[INFO] [stdout]    |                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `utils::RawPacket` is more private than the item `udpstream::UdpStream::new`
[INFO] [stdout]   --> src/udpstream.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | /     pub fn new(
[INFO] [stdout] 38 | |         addr: SocketAddr,
[INFO] [stdout] 39 | |         stream_tx: Sender<(SocketAddr,RawPacket)>,
[INFO] [stdout] 40 | |         stream_rx: Receiver<Event>,
[INFO] [stdout] 41 | |         handle: tokio::runtime::Handle
[INFO] [stdout] 42 | |     ) -> Self {
[INFO] [stdout]    | |_____________^ associated function `udpstream::UdpStream::new` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `utils::RawPacket` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/utils.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub(crate) struct RawPacket {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reader` is never used
[INFO] [stdout]   --> src/lib.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) trait Reader: Sized {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Writer` is never used
[INFO] [stdout]   --> src/lib.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub(crate) trait Writer {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `addr` is never read
[INFO] [stdout]   --> src/tcpstream.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct TcpStream {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 10 |     addr: SocketAddr,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_rx` is never read
[INFO] [stdout]   --> src/udpclient.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct UdpClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     error_rx: Receiver<ErrorType>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unrestricted` is never constructed
[INFO] [stdout]  --> src/bytechannel.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) enum ByteMode {
[INFO] [stdout]   |                 -------- variant in this enum
[INFO] [stdout] 8 |     Restricted(usize),
[INFO] [stdout] 9 |     Unrestricted,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ByteMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_disconnected` and `disconnect` are never used
[INFO] [stdout]   --> src/bytechannel.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl ByteReader {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `take_capacity` and `disconnect` are never used
[INFO] [stdout]    --> src/bytechannel.rs:91:19
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl ByteWriter {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout]  91 |     pub(crate) fn take_capacity(&mut self,additional_data: usize) -> BytesMut {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `THREAD_SLEEP_TIME` is never used
[INFO] [stdout]   --> src/udpstream.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const THREAD_SLEEP_TIME: Duration = Duration::from_millis(1);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `error_rx` is never read
[INFO] [stdout]   --> src/udpstream.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct UdpStream {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     error_rx: Receiver<ErrorType>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UdpStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> src/backpressurebuffer.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<T> BackpressureBuffer<T> {
[INFO] [stdout]    | ----------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub(crate) fn flush(&mut self) -> impl Iterator<Item = T> {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `thread_handle` is never read
[INFO] [stdout]   --> src/udpserver.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct UdpServer {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     thread_handle: JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BytesMut` should have a snake case name
[INFO] [stdout]    --> src/bytechannel.rs:208:38
[INFO] [stdout]     |
[INFO] [stdout] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stdout]     |                                      ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[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 `BytesMut` should have a snake case name
[INFO] [stdout]    --> src/bytechannel.rs:209:30
[INFO] [stdout]     |
[INFO] [stdout] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stdout]     |                              ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.63s
[INFO] running `Command { std: "docker" "inspect" "09e936064581dc1e75b0dfa5341af141c3ad645673e7a0f928c7ce70bba10e1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09e936064581dc1e75b0dfa5341af141c3ad645673e7a0f928c7ce70bba10e1e", kill_on_drop: false }`
[INFO] [stdout] 09e936064581dc1e75b0dfa5341af141c3ad645673e7a0f928c7ce70bba10e1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 91b690ebd1d6640fb143b7a729992aeb23be799b826968b83e812187d4e5c427
[INFO] running `Command { std: "docker" "start" "-a" "91b690ebd1d6640fb143b7a729992aeb23be799b826968b83e812187d4e5c427", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::collections::VecDeque`
[INFO] [stderr]  --> src/udpclient.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::VecDeque;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::task::JoinHandle as AsyncJoinHandle`
[INFO] [stderr]   --> src/udpclient.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tokio::task::JoinHandle as AsyncJoinHandle;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::VecDeque`
[INFO] [stderr]  --> src/udpstream.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::VecDeque;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::udpclient::UdpClient`
[INFO] [stderr]   --> src/udpstream.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::udpclient::UdpClient;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crossbeam::queue::SegQueue`
[INFO] [stderr]  --> src/udpserver.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crossbeam::queue::SegQueue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TryRecvError`
[INFO] [stderr]  --> src/udpserver.rs:5:31
[INFO] [stderr]   |
[INFO] [stderr] 5 | use flume::{Receiver, Sender, TryRecvError};
[INFO] [stderr]   |                               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::RefCell`
[INFO] [stderr]  --> src/udpserver.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::cell::RefCell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/udpserver.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uflow::SendMode`
[INFO] [stderr]   --> src/udpserver.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use uflow::SendMode;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RemoteClient`
[INFO] [stderr]   --> src/udpserver.rs:17:29
[INFO] [stderr]    |
[INFO] [stderr] 17 | use uflow::server::{Config, RemoteClient, Server};
[INFO] [stderr]    |                             ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the feature `inherent_str_constructors` has been stable since 1.87.0 and no longer requires an attribute to enable
[INFO] [stderr]  --> src/lib.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![feature(inherent_str_constructors)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/udpclient.rs:81:9
[INFO] [stderr]    |
[INFO] [stderr] 81 |         mut stream: UflowClient,
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `BytesMut`
[INFO] [stderr]    --> src/bytechannel.rs:208:38
[INFO] [stderr]     |
[INFO] [stderr] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stderr]     |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `BytesMut`
[INFO] [stderr]    --> src/bytechannel.rs:209:30
[INFO] [stderr]     |
[INFO] [stderr] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stderr]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_BytesMut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/udpserver.rs:84:36
[INFO] [stderr]    |
[INFO] [stderr] 84 |                         if let Err(e) = new_clients.send((addr, Ok(stream))) {
[INFO] [stderr]    |                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: type `RawPacket` is more private than the item `UdpStream::new`
[INFO] [stderr]   --> src/udpstream.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | /     pub fn new(
[INFO] [stderr] 38 | |         addr: SocketAddr,
[INFO] [stderr] 39 | |         stream_tx: Sender<(SocketAddr,RawPacket)>,
[INFO] [stderr] 40 | |         stream_rx: Receiver<Event>,
[INFO] [stderr] 41 | |         handle: tokio::runtime::Handle
[INFO] [stderr] 42 | |     ) -> Self {
[INFO] [stderr]    | |_____________^ associated function `UdpStream::new` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RawPacket` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/utils.rs:5:1
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub(crate) struct RawPacket {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Reader` is never used
[INFO] [stderr]   --> src/lib.rs:23:18
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub(crate) trait Reader: Sized {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Writer` is never used
[INFO] [stderr]   --> src/lib.rs:27:18
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub(crate) trait Writer {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `addr` is never read
[INFO] [stderr]   --> src/tcpstream.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct TcpStream {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 10 |     addr: SocketAddr,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `error_rx` is never read
[INFO] [stderr]   --> src/udpclient.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct UdpClient {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 35 |     error_rx: Receiver<ErrorType>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Unrestricted` is never constructed
[INFO] [stderr]  --> src/bytechannel.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub(crate) enum ByteMode {
[INFO] [stderr]   |                 -------- variant in this enum
[INFO] [stderr] 8 |     Restricted(usize),
[INFO] [stderr] 9 |     Unrestricted,
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `ByteMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `read_sync`, `is_disconnected`, and `disconnect` are never used
[INFO] [stderr]   --> src/bytechannel.rs:42:19
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl ByteReader {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] 42 |     pub(crate) fn read_sync(&self) -> Result<BytesMut, ReadError> {
[INFO] [stderr]    |                   ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `take_capacity`, `write_sync`, `is_disconnected`, and `disconnect` are never used
[INFO] [stderr]    --> src/bytechannel.rs:91:19
[INFO] [stderr]     |
[INFO] [stderr]  90 | impl ByteWriter {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr]  91 |     pub(crate) fn take_capacity(&mut self,additional_data: usize) -> BytesMut {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     pub(crate) fn write_sync(&mut self, mut data: BytesMut) -> Result<(), WriteError> {
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Full` is never constructed
[INFO] [stderr]    --> src/bytechannel.rs:202:5
[INFO] [stderr]     |
[INFO] [stderr] 200 | pub(crate) enum WriteError {
[INFO] [stderr]     |                 ---------- variant in this enum
[INFO] [stderr] 201 |     Disconnected(BytesMut),
[INFO] [stderr] 202 |     Full(BytesMut),
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `WriteError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Empty` is never constructed
[INFO] [stderr]    --> src/bytechannel.rs:217:5
[INFO] [stderr]     |
[INFO] [stderr] 215 | pub(crate) enum ReadError {
[INFO] [stderr]     |                 --------- variant in this enum
[INFO] [stderr] 216 |     Disconnected,
[INFO] [stderr] 217 |     Empty,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ReadError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `THREAD_SLEEP_TIME` is never used
[INFO] [stderr]   --> src/udpstream.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const THREAD_SLEEP_TIME: Duration = Duration::from_millis(1);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `error_rx` is never read
[INFO] [stderr]   --> src/udpstream.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct UdpStream {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 32 |     error_rx: Receiver<ErrorType>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `UdpStream` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `flush` is never used
[INFO] [stderr]   --> src/backpressurebuffer.rs:31:19
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl<T> BackpressureBuffer<T> {
[INFO] [stderr]    | ----------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub(crate) fn flush(&mut self) -> impl Iterator<Item = T> {
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `thread_handle` is never read
[INFO] [stderr]   --> src/udpserver.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct UdpServer {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 32 |     thread_handle: JoinHandle<()>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `BytesMut` should have a snake case name
[INFO] [stderr]    --> src/bytechannel.rs:208:38
[INFO] [stderr]     |
[INFO] [stderr] 208 |             WriteError::Disconnected(BytesMut) => write!(f,"Byte Channel Disconnected!"),
[INFO] [stderr]     |                                      ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `BytesMut` should have a snake case name
[INFO] [stderr]    --> src/bytechannel.rs:209:30
[INFO] [stderr]     |
[INFO] [stderr] 209 |             WriteError::Full(BytesMut) => write!(f,"Byte Channel is Full!"),
[INFO] [stderr]     |                              ^^^^^^^^ help: convert the identifier to snake case: `bytes_mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sleep`
[INFO] [stderr]    --> src/udpclient.rs:282:33
[INFO] [stderr]     |
[INFO] [stderr] 282 |     use tokio::time::{Duration, sleep, timeout};
[INFO] [stderr]     |                                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/lib.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bytechannel.rs:236:26
[INFO] [stderr]     |
[INFO] [stderr] 236 |         let (mut sender, mut receiver) = byte_channel(ByteMode::Restricted(4));
[INFO] [stderr]     |                          ----^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bytechannel.rs:251:26
[INFO] [stderr]     |
[INFO] [stderr] 251 |         let (mut sender, mut receiver) = byte_channel(ByteMode::Restricted(4));
[INFO] [stderr]     |                          ----^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bytechannel.rs:271:26
[INFO] [stderr]     |
[INFO] [stderr] 271 |         let (mut writer, mut reader) = byte_channel(ByteMode::Restricted(10));
[INFO] [stderr]     |                          ----^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stream_rx`
[INFO] [stderr]    --> src/udpstream.rs:230:25
[INFO] [stderr]     |
[INFO] [stderr] 230 |         let (stream_tx, stream_rx) = unbounded::<(SocketAddr,RawPacket)>();
[INFO] [stderr]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream_rx`
[INFO] [stderr] 
[INFO] [stderr] warning: type `utils::RawPacket` is more private than the item `udpstream::UdpStream::new`
[INFO] [stderr]   --> src/udpstream.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | /     pub fn new(
[INFO] [stderr] 38 | |         addr: SocketAddr,
[INFO] [stderr] 39 | |         stream_tx: Sender<(SocketAddr,RawPacket)>,
[INFO] [stderr] 40 | |         stream_rx: Receiver<Event>,
[INFO] [stderr] 41 | |         handle: tokio::runtime::Handle
[INFO] [stderr] 42 | |     ) -> Self {
[INFO] [stderr]    | |_____________^ associated function `udpstream::UdpStream::new` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `utils::RawPacket` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> src/utils.rs:5:1
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub(crate) struct RawPacket {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_disconnected` and `disconnect` are never used
[INFO] [stderr]   --> src/bytechannel.rs:76:19
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl ByteReader {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub(crate) fn is_disconnected(&self) -> bool {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `take_capacity` and `disconnect` are never used
[INFO] [stderr]    --> src/bytechannel.rs:91:19
[INFO] [stderr]     |
[INFO] [stderr]  90 | impl ByteWriter {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr]  91 |     pub(crate) fn take_capacity(&mut self,additional_data: usize) -> BytesMut {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub(crate) fn disconnect(&mut self) {
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `sockkit` (lib) generated 31 warnings (run `cargo fix --lib -p sockkit` to apply 14 suggestions)
[INFO] [stderr] warning: `sockkit` (lib test) generated 35 warnings (26 duplicates) (run `cargo fix --lib -p sockkit --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sockkit-8cda208e5902d92c)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test bytechannel::tests::byte_channel_try ... ok
[INFO] [stdout] test tests::tcp_test_client_server_connection ... ok
[INFO] [stdout] test bytechannel::tests::concurrent_read_write ... ok
[INFO] [stdout] test bytechannel::tests::byte_channel_async ... ok
[INFO] [stdout] test udpstream::tests::test_udpstream_send_and_receive ... ok
[INFO] [stdout] test tests::tcp_test_multi_client_server ... ok
[INFO] [stdout] test tests::udp_test_client_server_connection ... FAILED
[INFO] [stdout] test udpclient::tests::test_udpclient_echo ... ok
[INFO] [stdout] test tests::udp_test_multi_client_server has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "91b690ebd1d6640fb143b7a729992aeb23be799b826968b83e812187d4e5c427", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91b690ebd1d6640fb143b7a729992aeb23be799b826968b83e812187d4e5c427", kill_on_drop: false }`
[INFO] [stdout] 91b690ebd1d6640fb143b7a729992aeb23be799b826968b83e812187d4e5c427
