[INFO] cloning repository https://github.com/4t145/asteroid-core [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/4t145/asteroid-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4t145%2Fasteroid-core", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4t145%2Fasteroid-core'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 00835d60de106cff4d86c023592656d64175af44 [INFO] checking 4t145/asteroid-core/00835d60de106cff4d86c023592656d64175af44 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F4t145%2Fasteroid-core" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/4t145/asteroid-core on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/4t145/asteroid-core [INFO] finished tweaking git repo https://github.com/4t145/asteroid-core [INFO] tweaked toml for git repo https://github.com/4t145/asteroid-core written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/4t145/asteroid-core 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rustls-platform-verifier v0.3.2 [INFO] [stderr] Downloaded future-utils v0.12.1 [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bc6840cd2a66784ec0bf9e4737231da0ba681fd637c931c5f51286227bdb7ca5 [INFO] running `Command { std: "docker" "start" "-a" "bc6840cd2a66784ec0bf9e4737231da0ba681fd637c931c5f51286227bdb7ca5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bc6840cd2a66784ec0bf9e4737231da0ba681fd637c931c5f51286227bdb7ca5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc6840cd2a66784ec0bf9e4737231da0ba681fd637c931c5f51286227bdb7ca5", kill_on_drop: false }` [INFO] [stdout] bc6840cd2a66784ec0bf9e4737231da0ba681fd637c931c5f51286227bdb7ca5 [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f78312c4bde1fc6ac2f9067e67e23972f4e0a1ea22ed59eabfc4c82d95e42f41 [INFO] running `Command { std: "docker" "start" "-a" "f78312c4bde1fc6ac2f9067e67e23972f4e0a1ea22ed59eabfc4c82d95e42f41", kill_on_drop: false }` [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking futures v0.1.31 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling syn v2.0.71 [INFO] [stderr] Compiling cc v1.1.5 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling rustls v0.23.11 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rustls-native-certs v0.7.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking tokio v1.38.1 [INFO] [stderr] Checking nanorand v0.7.0 [INFO] [stderr] Checking crossbeam-deque v0.7.4 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tokio-threadpool v0.1.18 [INFO] [stderr] Checking tokio-timer v0.2.13 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Checking tokio-current-thread v0.1.7 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking unwrap v1.2.1 [INFO] [stderr] Checking tokio-fs v0.1.7 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking tokio-uds v0.2.7 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Checking tokio-udp v0.1.6 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking future-utils v0.12.1 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Checking rustls-webpki v0.102.5 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking quinn-udp v0.5.2 [INFO] [stderr] Checking serde v1.0.204 [INFO] [stderr] Checking rustls-platform-verifier v0.3.2 [INFO] [stderr] Checking quinn-proto v0.11.3 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking quinn v0.11.2 [INFO] [stderr] Checking asteroid-core v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `TypeId` [INFO] [stdout] --> src/broker.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::{Any, TypeId}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_core::future` [INFO] [stdout] --> src/connection.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use futures_core::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/connection.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::poll_fn` [INFO] [stdout] --> src/connection.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/connection.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Mutex` [INFO] [stdout] --> src/connection.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context` and `Poll` [INFO] [stdout] --> src/connection.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::task::{Context, Poll}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pin::Pin` [INFO] [stdout] --> src/listener.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, net::SocketAddr, pin::Pin}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::select` [INFO] [stdout] --> src/listener.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use flume::select; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `connection` [INFO] [stdout] --> src/listener.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{codec::Codec, connection, Frame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quinn::Endpoint` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use quinn::Endpoint; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeId` [INFO] [stdout] --> src/broker.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::{Any, TypeId}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures_core::future` [INFO] [stdout] --> src/connection.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use futures_core::future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/connection.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::poll_fn` [INFO] [stdout] --> src/connection.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::future::poll_fn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/connection.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Mutex` [INFO] [stdout] --> src/connection.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context` and `Poll` [INFO] [stdout] --> src/connection.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use std::task::{Context, Poll}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pin::Pin` [INFO] [stdout] --> src/listener.rs:1:50 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, net::SocketAddr, pin::Pin}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `flume::select` [INFO] [stdout] --> src/listener.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use flume::select; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `connection` [INFO] [stdout] --> src/listener.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{codec::Codec, connection, Frame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quinn::Endpoint` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use quinn::Endpoint; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/lib.rs:33:40 [INFO] [stdout] | [INFO] [stdout] 33 | pub async fn scan_event(&mut self, frame: Frame) -> Result<(), quinn::ReadError> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/lib.rs:33:40 [INFO] [stdout] | [INFO] [stdout] 33 | pub async fn scan_event(&mut self, frame: Frame) -> Result<(), quinn::ReadError> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/broker.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | if let ConnectionKind::Quic { rx, tx } = &mut self.connection_kind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mf` [INFO] [stdout] --> src/broker.rs:25:41 [INFO] [stdout] | [INFO] [stdout] 25 | pub async fn send<'w, T>(&mut self, mf: MessageFrame) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/broker.rs:28:39 [INFO] [stdout] | [INFO] [stdout] 28 | if let ConnectionKind::Quic { rx, tx } = &mut self.connection_kind { [INFO] [stdout] | ^^ help: try ignoring the field: `rx: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/broker.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | let x = tx.write(&[]).await; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/broker.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | if let ConnectionKind::Quic { rx, tx } = &mut self.connection_kind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mf` [INFO] [stdout] --> src/broker.rs:25:41 [INFO] [stdout] | [INFO] [stdout] 25 | pub async fn send<'w, T>(&mut self, mf: MessageFrame) [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/broker.rs:28:39 [INFO] [stdout] | [INFO] [stdout] 28 | if let ConnectionKind::Quic { rx, tx } = &mut self.connection_kind { [INFO] [stdout] | ^^ help: try ignoring the field: `rx: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/broker.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | let x = tx.write(&[]).await; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `close_result` [INFO] [stdout] --> src/connection.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | let close_result = self.rx.stop(VarInt::from_u32(0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_close_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/connection.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | if let Err(e) = self.event_fan_out.send_async(bytes).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `close_result` [INFO] [stdout] --> src/connection.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | let close_result = self.rx.stop(VarInt::from_u32(0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_close_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/connection.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | if let Err(e) = self.event_fan_out.send_async(bytes).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_fan_in` [INFO] [stdout] --> src/listener.rs:35:29 [INFO] [stdout] | [INFO] [stdout] 35 | let (event_fan_out, event_fan_in) = flume::bounded::(self.size); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_fan_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/listener.rs:60:57 [INFO] [stdout] | [INFO] [stdout] 60 | FrameOutboundSideEvent::Close { reason, addr } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/listener.rs:87:33 [INFO] [stdout] | [INFO] [stdout] 87 | ... Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `close_result` [INFO] [stdout] --> src/listener.rs:93:37 [INFO] [stdout] | [INFO] [stdout] 93 | ... let close_result = rx.stop(VarInt::from_u32(0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_close_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/listener.rs:102:44 [INFO] [stdout] | [INFO] [stdout] 102 | ... if let Err(e) = event_fan_out.send_async(bytes).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_fan_in` [INFO] [stdout] --> src/listener.rs:35:29 [INFO] [stdout] | [INFO] [stdout] 35 | let (event_fan_out, event_fan_in) = flume::bounded::(self.size); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_fan_in` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/listener.rs:60:57 [INFO] [stdout] | [INFO] [stdout] 60 | FrameOutboundSideEvent::Close { reason, addr } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `router` are never read [INFO] [stdout] --> src/lib.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct NodeRx { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 24 | id: NodeId, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | router: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `type_id` and `bytes` are never read [INFO] [stdout] --> src/broker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TypedBytes { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 14 | type_id: (u64, u64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | bytes: Bytes [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target`, `type_id`, and `bytes` are never read [INFO] [stdout] --> src/broker.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct MessageFrame { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 19 | target: ActorId, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | type_id: (u64, u64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | bytes: Bytes [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `receiver` is never read [INFO] [stdout] --> src/connection.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct Connection { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 46 | sender: ConnectionSender, [INFO] [stdout] 47 | receiver: ConnectionReceiver, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/codec/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | async fn encode(self, stream: &mut quinn::SendStream) -> Result<(), quinn::WriteError>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 2 - async fn encode(self, stream: &mut quinn::SendStream) -> Result<(), quinn::WriteError>; [INFO] [stdout] 2 + fn encode(self, stream: &mut quinn::SendStream) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/codec/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | async fn decode(stream: &mut quinn::RecvStream) -> Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 3 - async fn decode(stream: &mut quinn::RecvStream) -> Result; [INFO] [stdout] 3 + fn decode(stream: &mut quinn::RecvStream) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/listener.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | event_fan_out.send(event.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 42 | let _ = event_fan_out.send(event.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/listener.rs:87:33 [INFO] [stdout] | [INFO] [stdout] 87 | ... Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `close_result` [INFO] [stdout] --> src/listener.rs:93:37 [INFO] [stdout] | [INFO] [stdout] 93 | ... let close_result = rx.stop(VarInt::from_u32(0)); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_close_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/listener.rs:102:44 [INFO] [stdout] | [INFO] [stdout] 102 | ... if let Err(e) = event_fan_out.send_async(bytes).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `router` are never read [INFO] [stdout] --> src/lib.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct NodeRx { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 24 | id: NodeId, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | router: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `type_id` and `bytes` are never read [INFO] [stdout] --> src/broker.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TypedBytes { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 14 | type_id: (u64, u64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | bytes: Bytes [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `target`, `type_id`, and `bytes` are never read [INFO] [stdout] --> src/broker.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct MessageFrame { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 19 | target: ActorId, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | type_id: (u64, u64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | bytes: Bytes [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `receiver` is never read [INFO] [stdout] --> src/connection.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct Connection { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 46 | sender: ConnectionSender, [INFO] [stdout] 47 | receiver: ConnectionReceiver, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/codec/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | async fn encode(self, stream: &mut quinn::SendStream) -> Result<(), quinn::WriteError>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 2 - async fn encode(self, stream: &mut quinn::SendStream) -> Result<(), quinn::WriteError>; [INFO] [stdout] 2 + fn encode(self, stream: &mut quinn::SendStream) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/codec/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | async fn decode(stream: &mut quinn::RecvStream) -> Result; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 3 - async fn decode(stream: &mut quinn::RecvStream) -> Result; [INFO] [stdout] 3 + fn decode(stream: &mut quinn::RecvStream) -> impl std::future::Future> + Send; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/listener.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | event_fan_out.send(event.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 42 | let _ = event_fan_out.send(event.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.59s [INFO] running `Command { std: "docker" "inspect" "f78312c4bde1fc6ac2f9067e67e23972f4e0a1ea22ed59eabfc4c82d95e42f41", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f78312c4bde1fc6ac2f9067e67e23972f4e0a1ea22ed59eabfc4c82d95e42f41", kill_on_drop: false }` [INFO] [stdout] f78312c4bde1fc6ac2f9067e67e23972f4e0a1ea22ed59eabfc4c82d95e42f41