[INFO] fetching crate spiking 0.0.1...
[INFO] testing spiking-0.0.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate spiking 0.0.1 into /workspace/builds/worker-3-tc2/source
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate spiking 0.0.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate spiking 0.0.1
[INFO] tweaked toml for crates.io crate spiking 0.0.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate spiking 0.0.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate spiking 0.0.1 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9b09a1144b6a7071c9895d660ed9a39e27e69313f8e69282fbf95daa8d8c4885
[INFO] running `Command { std: "docker" "start" "-a" "9b09a1144b6a7071c9895d660ed9a39e27e69313f8e69282fbf95daa8d8c4885", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9b09a1144b6a7071c9895d660ed9a39e27e69313f8e69282fbf95daa8d8c4885", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b09a1144b6a7071c9895d660ed9a39e27e69313f8e69282fbf95daa8d8c4885", kill_on_drop: false }`
[INFO] [stdout] 9b09a1144b6a7071c9895d660ed9a39e27e69313f8e69282fbf95daa8d8c4885
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dcb4ef8aa3451a64146f2e0a6ef03e96c89662a0b6261b0148007e136e151ccf
[INFO] running `Command { std: "docker" "start" "-a" "dcb4ef8aa3451a64146f2e0a6ef03e96c89662a0b6261b0148007e136e151ccf", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling cc v1.2.29
[INFO] [stderr]    Compiling no-std-compat v0.2.0
[INFO] [stderr]    Compiling stable-vec v0.4.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling spiking v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `dprintln`
[INFO] [stdout]  --> src/core/bulk.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{dprintln, Iovec, Mmsghdr, Msghdr, SocketAddrSrcV4, SocketAddrSrcV6};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]  --> src/udp/server/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod worker;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the name `worker` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]  --> src/udp/server/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use worker::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]  --> src/udp/server/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod worker;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pop::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use pop::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `popmany::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use popmany::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kernel::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use kernel::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modes::*`
[INFO] [stdout]  --> src/udp/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use modes::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/quic/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use processor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/quic/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use processor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `packet::*`
[INFO] [stdout]  --> src/quic/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use packet::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HKDF_SHA256`
[INFO] [stdout]  --> src/quic/crypto.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ring::hkdf::{KeyType, Prk, HKDF_SHA256};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tag`
[INFO] [stdout]  --> src/quic/crypto.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::hmac::{self, Tag};
[INFO] [stdout]   |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/quic/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use crypto::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/quic/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use crypto::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HKDF_SHA256`, `Prk`, and `Salt`
[INFO] [stdout]  --> src/quic/spec.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ring::hkdf::{Prk, Salt, HKDF_SHA256};
[INFO] [stdout]   |                  ^^^  ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `aes_block`, `expand_label`, and `varint`
[INFO] [stdout]  --> src/quic/spec.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{aes_block, expand_label, varint};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut handler = self.datagram_handler.take().expect("No IPv4 handler set for XUdpServerWorker");
[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: `handler`
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut handler = self.datagram_handler.take().expect("No IPv4 handler set for XUdpServerWorker");
[INFO] [stdout]   |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/udp/flood.rs:116:29
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         for i in start..end {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/quic/server/processor.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut off = 0;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_address`
[INFO] [stdout]   --> src/quic/server/processor.rs:58:81
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) fn exec_quic_initial(ctx: &mut QuicThreadContext, packet: &mut [u8], source_address: &SocketAddr) -> usize {
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scid`
[INFO] [stdout]   --> src/quic/server/processor.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let scid = ConnectionId::from_slice(&packet[scid_start .. scid_end]);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_scid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_slice`
[INFO] [stdout]   --> src/quic/server/processor.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let token_slice = &packet[token_start..token_end];
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/quic/server/processor.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut off = 0;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_off`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:34
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:63
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:82
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:60
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:79
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:30
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:59
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:78
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:45
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:74
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:93
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/quic/stream.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn write(&self, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server_address` is never read
[INFO] [stdout]   --> src/udp/server/worker/worker.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UdpServerThreadContext {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub(crate) server_address: SocketAddr,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_pop_loop` is never used
[INFO] [stdout]  --> src/udp/server/modes/pop/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | impl UdpServerThreadContext {
[INFO] [stdout]   | --------------------------- method in this implementation
[INFO] [stdout] 3 |     pub(crate) fn begin_pop_loop(&mut self) -> std::io::Result<()> {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `XDP_OBJ` is never used
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | static XDP_OBJ: &[u8] = include_bytes!("xdp/build/xdp.o");
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `udp_socket`, `connections`, `curr_long_hdr`, `onconnection_handler`, and `debug_mode` are never read
[INFO] [stdout]   --> src/quic/server/context.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct QuicThreadContext<'a> {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 14 |     pub(crate) id: usize,
[INFO] [stdout]    |                ^^
[INFO] [stdout] 15 |     pub(crate) udp_socket: Socket,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 16 |     pub(crate) connections: HashMap<ConnectionId, QuicConnection>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub(crate) curr_long_hdr: QuicLongHeader<'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub(crate) onconnection_handler: OnConnectionEvent<'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub(crate) debug_mode: bool,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_udp_packet` and `notify_on_connection` are never used
[INFO] [stdout]   --> src/quic/server/context.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<'a> QuicThreadContext<'a> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub(crate) fn send_udp_packet(&self, buf: &[u8], addr: &std::net::SocketAddr) -> std::io::Result<usize> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub(crate) fn notify_on_connection(&self, conn: &mut QuicConnection) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_connection` is never used
[INFO] [stdout]   --> src/quic/server/processor.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn update_connection<'ctx>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_as_vec_literal` is never used
[INFO] [stdout]    --> src/quic/server/processor.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn format_as_vec_literal(bytes: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dcid`, `last_packet_number`, and `last_unistream_id` are never read
[INFO] [stdout]   --> src/quic/connection.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct QuicConnection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 69 |     pub(crate) id: ConnectionId,
[INFO] [stdout] 70 |     pub(crate) dcid: ConnectionId,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 71 |     //pub(crate) state: QuicConnectionState,
[INFO] [stdout] 72 |     pub(crate) last_packet_number: u32, // Packet Number
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub(crate) last_unistream_id: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_key` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn build_key(salt: &[u8]) -> hmac::Key {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_extract` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) fn hkdf_extract(key: &hmac::Key, ikm: &[u8], out: &mut [u8; 32]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_expand` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) fn hkdf_expand(prk: &[u8; 32], info: &[u8], out: &mut [u8]) {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_hp_mask` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn generate_hp_mask(hp_key: &[u8; 16], sample: &[u8], hp_mask: &mut [u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_header_protection` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) fn remove_header_protection(first_byte: &mut u8, packet_number: &mut [u8], mask: &[u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_encrypt` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub(crate) fn aes_ecb_encrypt(key: &[u8; 16], sample: &[u8], out: &mut [u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_expand_label` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn hkdf_expand_label(prk: &Prk, label: &[u8], out: &mut [u8]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_block` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) fn aes_ecb_block(key: &[u8;16], sample: &[u8;16]) -> [u8;16] {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flags`, `version`, `dcid`, `scid`, and `header_size` are never read
[INFO] [stdout]   --> src/quic/spec.rs:6:16
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct QuicLongHeader<'a> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  6 |     pub(crate) flags: u8, // 0b1xTTXXXX
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]  7 |     pub(crate) version: u32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]  8 |     pub(crate) dcid: &'a [u8],
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]  9 |     pub(crate) scid: &'a [u8],
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 10 |     pub(crate) header_size: u8,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 udp_ctx.run();
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let _ = udp_ctx.run();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         self.udp_server.start(num_workers);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = self.udp_server.start(num_workers);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/quic/client.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn open_bistream(&mut self) -> Result<QuicStream, String> {
[INFO] [stdout]    |                          ^^^^^^^^^            ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn open_bistream(&mut self) -> Result<QuicStream<'_>, String> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/quic/connection.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn open_bistream(&mut self) -> Result<QuicStream, String>{
[INFO] [stdout]     |                          ^^^^^^^^^            ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn open_bistream(&mut self) -> Result<QuicStream<'_>, String>{
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.19s
[INFO] running `Command { std: "docker" "inspect" "dcb4ef8aa3451a64146f2e0a6ef03e96c89662a0b6261b0148007e136e151ccf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcb4ef8aa3451a64146f2e0a6ef03e96c89662a0b6261b0148007e136e151ccf", kill_on_drop: false }`
[INFO] [stdout] dcb4ef8aa3451a64146f2e0a6ef03e96c89662a0b6261b0148007e136e151ccf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d47d1c7104d3d16c8aaf788ae2b1dd48257c218a7d4a0a5154dde822a4be7e57
[INFO] running `Command { std: "docker" "start" "-a" "d47d1c7104d3d16c8aaf788ae2b1dd48257c218a7d4a0a5154dde822a4be7e57", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `dprintln`
[INFO] [stdout]  --> src/core/bulk.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{dprintln, Iovec, Mmsghdr, Msghdr, SocketAddrSrcV4, SocketAddrSrcV6};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]  --> src/udp/server/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod worker;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the name `worker` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]  --> src/udp/server/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use worker::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]  --> src/udp/server/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod worker;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pop::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use pop::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `popmany::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use popmany::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kernel::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use kernel::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modes::*`
[INFO] [stdout]  --> src/udp/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use modes::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/quic/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use processor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/quic/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use processor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `packet::*`
[INFO] [stdout]  --> src/quic/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use packet::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HKDF_SHA256`
[INFO] [stdout]  --> src/quic/crypto.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ring::hkdf::{KeyType, Prk, HKDF_SHA256};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tag`
[INFO] [stdout]  --> src/quic/crypto.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::hmac::{self, Tag};
[INFO] [stdout]   |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/quic/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use crypto::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/quic/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use crypto::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HKDF_SHA256`, `Prk`, and `Salt`
[INFO] [stdout]  --> src/quic/spec.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ring::hkdf::{Prk, Salt, HKDF_SHA256};
[INFO] [stdout]   |                  ^^^  ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `aes_block`, `expand_label`, and `varint`
[INFO] [stdout]  --> src/quic/spec.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{aes_block, expand_label, varint};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut handler = self.datagram_handler.take().expect("No IPv4 handler set for XUdpServerWorker");
[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: `handler`
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut handler = self.datagram_handler.take().expect("No IPv4 handler set for XUdpServerWorker");
[INFO] [stdout]   |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/udp/flood.rs:116:29
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         for i in start..end {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/quic/server/processor.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut off = 0;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_address`
[INFO] [stdout]   --> src/quic/server/processor.rs:58:81
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) fn exec_quic_initial(ctx: &mut QuicThreadContext, packet: &mut [u8], source_address: &SocketAddr) -> usize {
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scid`
[INFO] [stdout]   --> src/quic/server/processor.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let scid = ConnectionId::from_slice(&packet[scid_start .. scid_end]);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_scid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_slice`
[INFO] [stdout]   --> src/quic/server/processor.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let token_slice = &packet[token_start..token_end];
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/quic/server/processor.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut off = 0;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_off`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:34
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:63
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:82
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:60
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:79
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:30
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:59
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:78
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:45
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:74
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:93
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/quic/stream.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn write(&self, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server_address` is never read
[INFO] [stdout]   --> src/udp/server/worker/worker.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UdpServerThreadContext {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub(crate) server_address: SocketAddr,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_pop_loop` is never used
[INFO] [stdout]  --> src/udp/server/modes/pop/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | impl UdpServerThreadContext {
[INFO] [stdout]   | --------------------------- method in this implementation
[INFO] [stdout] 3 |     pub(crate) fn begin_pop_loop(&mut self) -> std::io::Result<()> {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `XDP_OBJ` is never used
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | static XDP_OBJ: &[u8] = include_bytes!("xdp/build/xdp.o");
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `udp_socket`, `connections`, `curr_long_hdr`, `onconnection_handler`, and `debug_mode` are never read
[INFO] [stdout]   --> src/quic/server/context.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct QuicThreadContext<'a> {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 14 |     pub(crate) id: usize,
[INFO] [stdout]    |                ^^
[INFO] [stdout] 15 |     pub(crate) udp_socket: Socket,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 16 |     pub(crate) connections: HashMap<ConnectionId, QuicConnection>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub(crate) curr_long_hdr: QuicLongHeader<'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub(crate) onconnection_handler: OnConnectionEvent<'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub(crate) debug_mode: bool,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_udp_packet` and `notify_on_connection` are never used
[INFO] [stdout]   --> src/quic/server/context.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<'a> QuicThreadContext<'a> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub(crate) fn send_udp_packet(&self, buf: &[u8], addr: &std::net::SocketAddr) -> std::io::Result<usize> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub(crate) fn notify_on_connection(&self, conn: &mut QuicConnection) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling spiking v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `update_connection` is never used
[INFO] [stdout]   --> src/quic/server/processor.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn update_connection<'ctx>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_as_vec_literal` is never used
[INFO] [stdout]    --> src/quic/server/processor.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn format_as_vec_literal(bytes: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dcid`, `last_packet_number`, and `last_unistream_id` are never read
[INFO] [stdout]   --> src/quic/connection.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct QuicConnection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 69 |     pub(crate) id: ConnectionId,
[INFO] [stdout] 70 |     pub(crate) dcid: ConnectionId,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 71 |     //pub(crate) state: QuicConnectionState,
[INFO] [stdout] 72 |     pub(crate) last_packet_number: u32, // Packet Number
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub(crate) last_unistream_id: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_key` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn build_key(salt: &[u8]) -> hmac::Key {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_extract` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) fn hkdf_extract(key: &hmac::Key, ikm: &[u8], out: &mut [u8; 32]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_expand` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) fn hkdf_expand(prk: &[u8; 32], info: &[u8], out: &mut [u8]) {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_hp_mask` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn generate_hp_mask(hp_key: &[u8; 16], sample: &[u8], hp_mask: &mut [u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_header_protection` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) fn remove_header_protection(first_byte: &mut u8, packet_number: &mut [u8], mask: &[u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_encrypt` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub(crate) fn aes_ecb_encrypt(key: &[u8; 16], sample: &[u8], out: &mut [u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_expand_label` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn hkdf_expand_label(prk: &Prk, label: &[u8], out: &mut [u8]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_block` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) fn aes_ecb_block(key: &[u8;16], sample: &[u8;16]) -> [u8;16] {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flags`, `version`, `dcid`, `scid`, and `header_size` are never read
[INFO] [stdout]   --> src/quic/spec.rs:6:16
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct QuicLongHeader<'a> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  6 |     pub(crate) flags: u8, // 0b1xTTXXXX
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]  7 |     pub(crate) version: u32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]  8 |     pub(crate) dcid: &'a [u8],
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]  9 |     pub(crate) scid: &'a [u8],
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 10 |     pub(crate) header_size: u8,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 udp_ctx.run();
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let _ = udp_ctx.run();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         self.udp_server.start(num_workers);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = self.udp_server.start(num_workers);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/quic/client.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn open_bistream(&mut self) -> Result<QuicStream, String> {
[INFO] [stdout]    |                          ^^^^^^^^^            ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn open_bistream(&mut self) -> Result<QuicStream<'_>, String> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/quic/connection.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn open_bistream(&mut self) -> Result<QuicStream, String>{
[INFO] [stdout]     |                          ^^^^^^^^^            ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn open_bistream(&mut self) -> Result<QuicStream<'_>, String>{
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `xsio`
[INFO] [stdout]  --> tests/TestUdpServerFlood.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use xsio::UdpServer;
[INFO] [stdout]   |         ^^^^ use of unresolved module or unlinked crate `xsio`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `xsio`, use `cargo add xsio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `xsio`
[INFO] [stdout]  --> tests/TestQuicServerFlood.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use xsio::*;
[INFO] [stdout]   |         ^^^^ use of unresolved module or unlinked crate `xsio`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `xsio`, use `cargo add xsio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::Ipv4Addr`
[INFO] [stdout]  --> tests/TestUdpServerFlood.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use std::net::Ipv4Addr;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `xsio`
[INFO] [stdout]  --> tests/TestSocket.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use xsio::*;
[INFO] [stdout]   |         ^^^^ use of unresolved module or unlinked crate `xsio`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `xsio`, use `cargo add xsio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spiking` (test "TestUdpServerFlood") due to 1 previous error; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spiking` (test "TestQuicServerFlood") due to 1 previous error
[INFO] [stdout] warning: unused import: `dprintln`
[INFO] [stdout]  --> src/core/bulk.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{dprintln, Iovec, Mmsghdr, Msghdr, SocketAddrSrcV4, SocketAddrSrcV6};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]  --> src/udp/server/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod worker;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the name `worker` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]  --> src/udp/server/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use worker::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]  --> src/udp/server/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | mod worker;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pop::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use pop::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `popmany::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use popmany::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kernel::*`
[INFO] [stdout]  --> src/udp/server/modes/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use kernel::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `modes::*`
[INFO] [stdout]  --> src/udp/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use modes::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/quic/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use processor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/quic/server/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use processor::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `packet::*`
[INFO] [stdout]  --> src/quic/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use packet::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HKDF_SHA256`
[INFO] [stdout]  --> src/quic/crypto.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ring::hkdf::{KeyType, Prk, HKDF_SHA256};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tag`
[INFO] [stdout]  --> src/quic/crypto.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ring::hmac::{self, Tag};
[INFO] [stdout]   |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]   --> src/quic/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use crypto::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]   --> src/quic/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use crypto::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HKDF_SHA256`, `Prk`, and `Salt`
[INFO] [stdout]  --> src/quic/spec.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ring::hkdf::{Prk, Salt, HKDF_SHA256};
[INFO] [stdout]   |                  ^^^  ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `aes_block`, `expand_label`, and `varint`
[INFO] [stdout]  --> src/quic/spec.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{aes_block, expand_label, varint};
[INFO] [stdout]   |             ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `xsio`
[INFO] [stdout]  --> tests/TestQuicServer.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use xsio::*;
[INFO] [stdout]   |         ^^^^ use of unresolved module or unlinked crate `xsio`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `xsio`, use `cargo add xsio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `xsio` in this scope
[INFO] [stdout]  --> tests/TestUdpServerKernelMode.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use xsio::server::UdpServer;
[INFO] [stdout]   |         ^^^^ use of unresolved module or unlinked crate `xsio`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `xsio`, use `cargo add xsio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spiking` (test "TestUdpServerKernelMode") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spiking` (test "TestQuicServer") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spiking` (test "TestSocket") due to 1 previous error
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut handler = self.datagram_handler.take().expect("No IPv4 handler set for XUdpServerWorker");
[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: `handler`
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let mut handler = self.datagram_handler.take().expect("No IPv4 handler set for XUdpServerWorker");
[INFO] [stdout]   |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/udp/flood.rs:116:29
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         for i in start..end {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/quic/server/processor.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut off = 0;
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_address`
[INFO] [stdout]   --> src/quic/server/processor.rs:58:81
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) fn exec_quic_initial(ctx: &mut QuicThreadContext, packet: &mut [u8], source_address: &SocketAddr) -> usize {
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scid`
[INFO] [stdout]   --> src/quic/server/processor.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let scid = ConnectionId::from_slice(&packet[scid_start .. scid_end]);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_scid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_slice`
[INFO] [stdout]   --> src/quic/server/processor.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let token_slice = &packet[token_start..token_end];
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/quic/server/processor.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut off = 0;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_off`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:34
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:63
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:178:82
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) fn exec_quic_hanshake(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:31
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:60
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:183:79
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub(crate) fn exec_quic_retry(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:30
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:59
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:188:78
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub(crate) fn exec_quic_1rtt(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:45
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:74
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source`
[INFO] [stdout]    --> src/quic/server/processor.rs:193:93
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(crate) fn exec_quic_version_negotiation(ctx: &mut QuicThreadContext, packet: &mut [u8], source: &SocketAddr) -> usize {
[INFO] [stdout]     |                                                                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/quic/stream.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn write(&self, data: &[u8]) -> Result<(), String> {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `server_address` is never read
[INFO] [stdout]   --> src/udp/server/worker/worker.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UdpServerThreadContext {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub(crate) server_address: SocketAddr,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_pop_loop` is never used
[INFO] [stdout]  --> src/udp/server/modes/pop/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | impl UdpServerThreadContext {
[INFO] [stdout]   | --------------------------- method in this implementation
[INFO] [stdout] 3 |     pub(crate) fn begin_pop_loop(&mut self) -> std::io::Result<()> {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `XDP_OBJ` is never used
[INFO] [stdout]  --> src/udp/server/modes/kernel/mod.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | static XDP_OBJ: &[u8] = include_bytes!("xdp/build/xdp.o");
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `udp_socket`, `connections`, `curr_long_hdr`, `onconnection_handler`, and `debug_mode` are never read
[INFO] [stdout]   --> src/quic/server/context.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct QuicThreadContext<'a> {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 14 |     pub(crate) id: usize,
[INFO] [stdout]    |                ^^
[INFO] [stdout] 15 |     pub(crate) udp_socket: Socket,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 16 |     pub(crate) connections: HashMap<ConnectionId, QuicConnection>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub(crate) curr_long_hdr: QuicLongHeader<'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub(crate) onconnection_handler: OnConnectionEvent<'a>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub(crate) debug_mode: bool,
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_udp_packet` and `notify_on_connection` are never used
[INFO] [stdout]   --> src/quic/server/context.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<'a> QuicThreadContext<'a> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub(crate) fn send_udp_packet(&self, buf: &[u8], addr: &std::net::SocketAddr) -> std::io::Result<usize> {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub(crate) fn notify_on_connection(&self, conn: &mut QuicConnection) {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_connection` is never used
[INFO] [stdout]   --> src/quic/server/processor.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn update_connection<'ctx>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_as_vec_literal` is never used
[INFO] [stdout]    --> src/quic/server/processor.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn format_as_vec_literal(bytes: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dcid`, `last_packet_number`, and `last_unistream_id` are never read
[INFO] [stdout]   --> src/quic/connection.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct QuicConnection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 69 |     pub(crate) id: ConnectionId,
[INFO] [stdout] 70 |     pub(crate) dcid: ConnectionId,
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 71 |     //pub(crate) state: QuicConnectionState,
[INFO] [stdout] 72 |     pub(crate) last_packet_number: u32, // Packet Number
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub(crate) last_unistream_id: u32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_key` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn build_key(salt: &[u8]) -> hmac::Key {
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_extract` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) fn hkdf_extract(key: &hmac::Key, ikm: &[u8], out: &mut [u8; 32]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_expand` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:25:15
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) fn hkdf_expand(prk: &[u8; 32], info: &[u8], out: &mut [u8]) {
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_hp_mask` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub(crate) fn generate_hp_mask(hp_key: &[u8; 16], sample: &[u8], hp_mask: &mut [u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_header_protection` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) fn remove_header_protection(first_byte: &mut u8, packet_number: &mut [u8], mask: &[u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_encrypt` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub(crate) fn aes_ecb_encrypt(key: &[u8; 16], sample: &[u8], out: &mut [u8; 16]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hkdf_expand_label` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) fn hkdf_expand_label(prk: &Prk, label: &[u8], out: &mut [u8]) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_block` is never used
[INFO] [stdout]   --> src/quic/crypto.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub(crate) fn aes_ecb_block(key: &[u8;16], sample: &[u8;16]) -> [u8;16] {
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flags`, `version`, `dcid`, `scid`, and `header_size` are never read
[INFO] [stdout]   --> src/quic/spec.rs:6:16
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct QuicLongHeader<'a> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  6 |     pub(crate) flags: u8, // 0b1xTTXXXX
[INFO] [stdout]    |                ^^^^^
[INFO] [stdout]  7 |     pub(crate) version: u32,
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout]  8 |     pub(crate) dcid: &'a [u8],
[INFO] [stdout]    |                ^^^^
[INFO] [stdout]  9 |     pub(crate) scid: &'a [u8],
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 10 |     pub(crate) header_size: u8,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 udp_ctx.run();
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let _ = udp_ctx.run();
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/quic/server/server.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         self.udp_server.start(num_workers);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let _ = self.udp_server.start(num_workers);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/quic/client.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn open_bistream(&mut self) -> Result<QuicStream, String> {
[INFO] [stdout]    |                          ^^^^^^^^^            ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn open_bistream(&mut self) -> Result<QuicStream<'_>, String> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/quic/connection.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn open_bistream(&mut self) -> Result<QuicStream, String>{
[INFO] [stdout]     |                          ^^^^^^^^^            ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn open_bistream(&mut self) -> Result<QuicStream<'_>, String>{
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d47d1c7104d3d16c8aaf788ae2b1dd48257c218a7d4a0a5154dde822a4be7e57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d47d1c7104d3d16c8aaf788ae2b1dd48257c218a7d4a0a5154dde822a4be7e57", kill_on_drop: false }`
[INFO] [stdout] d47d1c7104d3d16c8aaf788ae2b1dd48257c218a7d4a0a5154dde822a4be7e57
