[INFO] fetching crate fastnet 0.3.1... [INFO] testing fastnet-0.3.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate fastnet 0.3.1 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate fastnet 0.3.1 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate fastnet 0.3.1 [INFO] tweaked toml for crates.io crate fastnet 0.3.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fastnet 0.3.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate fastnet 0.3.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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded twox-hash v2.1.2 [INFO] [stderr] Downloaded yasna v0.5.2 [INFO] [stderr] Downloaded lz4_flex v0.11.5 [INFO] [stderr] Downloaded rcgen v0.13.2 [INFO] [stderr] Downloaded aws-lc-rs v1.15.1 [INFO] [stderr] Downloaded aws-lc-sys v0.34.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3ee1221a6a8e014f895793f3777677465637fc3a9ddb6ac2e46242078cb1b384 [INFO] running `Command { std: "docker" "start" "-a" "3ee1221a6a8e014f895793f3777677465637fc3a9ddb6ac2e46242078cb1b384", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ee1221a6a8e014f895793f3777677465637fc3a9ddb6ac2e46242078cb1b384", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ee1221a6a8e014f895793f3777677465637fc3a9ddb6ac2e46242078cb1b384", kill_on_drop: false }` [INFO] [stdout] 3ee1221a6a8e014f895793f3777677465637fc3a9ddb6ac2e46242078cb1b384 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 64c150ecde58de367fc2af39a02bb84d0b5d2f6715bd1d9ef6e7d1d95e48ad72 [INFO] running `Command { std: "docker" "start" "-a" "64c150ecde58de367fc2af39a02bb84d0b5d2f6715bd1d9ef6e7d1d95e48ad72", kill_on_drop: false }` [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling aws-lc-rs v1.15.1 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling rustls-pki-types v1.13.1 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling twox-hash v2.1.2 [INFO] [stderr] Compiling lz4_flex v0.11.5 [INFO] [stderr] Compiling cc v1.2.49 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling rustls-pemfile v2.2.0 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling aws-lc-sys v0.34.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling fastnet v0.3.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant `FEC_MAX_PACKET_SIZE` is never used [INFO] [stdout] --> src/net/fast/fec.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const FEC_MAX_PACKET_SIZE: usize = 1200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_GROUP_SIZE` is never used [INFO] [stdout] --> src/net/fast/fec.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | pub const DEFAULT_GROUP_SIZE: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FecPacketType` is never used [INFO] [stdout] --> src/net/fast/fec.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | pub enum FecPacketType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_byte` is never used [INFO] [stdout] --> src/net/fast/fec.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl FecPacketType { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 61 | #[inline] [INFO] [stdout] 62 | pub fn from_byte(b: u8) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecHeader` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct FecHeader { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/fec.rs:86:15 [INFO] [stdout] | [INFO] [stdout] 85 | impl FecHeader { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 86 | pub const SIZE: usize = 5; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecEncoder` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct FecEncoder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/fec.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 121 | impl FecEncoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn new(group_size: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn add_packet(&mut self, data: &[u8]) -> Option<(FecHeader, usize)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_parity(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clear_parity(&mut self, len: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn data_header(&self, packet_index: u8) -> FecHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn current_index(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn current_group(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecGroup` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | struct FecGroup { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_complete`, `can_recover`, and `missing_index` are never used [INFO] [stdout] --> src/net/fast/fec.rs:224:8 [INFO] [stdout] | [INFO] [stdout] 223 | impl FecGroup { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 224 | fn new(group_size: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | fn is_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn can_recover(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | fn missing_index(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecDecoder` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:264:12 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct FecDecoder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_packet`, `try_recover`, `evict_oldest`, and `clear` are never used [INFO] [stdout] --> src/net/fast/fec.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 272 | impl FecDecoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 273 | /// Create a new decoder. [INFO] [stdout] 274 | pub fn new(group_size: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn add_packet(&mut self, header: &FecHeader, data: &[u8]) -> Option<(u8, Vec)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | fn try_recover(&mut self, group_id: u16) -> Option<(u8, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn evict_oldest(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELTA_MAX_SIZE` is never used [INFO] [stdout] --> src/net/fast/delta.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const DELTA_MAX_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SKIP_RUN` is never used [INFO] [stdout] --> src/net/fast/delta.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const MIN_SKIP_RUN: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaHeader` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct DeltaHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/delta.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 55 | impl DeltaHeader { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 56 | pub const SIZE: usize = 4; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaRange` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | struct DeltaRange { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/delta.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 83 | impl DeltaRange { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 84 | const SIZE: usize = 4; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaEncoder` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct DeltaEncoder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `encode`, `encode_full`, `sequence`, and `reset` are never used [INFO] [stdout] --> src/net/fast/delta.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl DeltaEncoder { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 111 | /// Create a new delta encoder. [INFO] [stdout] 112 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn encode<'a>(&'a mut self, old: &[u8], new: &[u8]) -> Option<(&'a [u8], usize)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn encode_full<'a>(&'a mut self, state: &[u8]) -> Option<(&'a [u8], usize)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn sequence(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaDecoder` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | pub struct DeltaDecoder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `apply`, and `last_seq` are never used [INFO] [stdout] --> src/net/fast/delta.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 267 | impl DeltaDecoder { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 268 | /// Create a new decoder. [INFO] [stdout] 269 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn apply(&mut self, delta: &[u8], state: &mut [u8]) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn last_seq(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compression_ratio` is never used [INFO] [stdout] --> src/net/fast/delta.rs:342:8 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn compression_ratio(original_size: usize, delta_size: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Priority` is never used [INFO] [stdout] --> src/net/fast/priority.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum Priority { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `COUNT`, `from_u8`, and `suggested_channel` are never used [INFO] [stdout] --> src/net/fast/priority.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 46 | impl Priority { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 47 | /// Total number of priority levels. [INFO] [stdout] 48 | pub const COUNT: usize = 4; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn from_u8(v: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn suggested_channel(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueuedPacket` is never constructed [INFO] [stdout] --> src/net/fast/priority.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct QueuedPacket { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriorityQueue` is never constructed [INFO] [stdout] --> src/net/fast/priority.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct PriorityQueue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/priority.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl PriorityQueue { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 98 | /// Create a new priority queue. [INFO] [stdout] 99 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn with_capacity(max_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn push(&mut self, priority: Priority, peer_id: u16, channel: u8, data: Vec) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn peek(&self) -> Option<&QueuedPacket> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn total_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn count_at(&self, priority: Priority) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn drop_below(&mut self, priority: Priority) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn drain_budget(&mut self, mut budget: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WeightedQueue` is never constructed [INFO] [stdout] --> src/net/fast/priority.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct WeightedQueue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop_weighted`, and `is_empty` are never used [INFO] [stdout] --> src/net/fast/priority.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 249 | impl WeightedQueue { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 250 | /// Create a new weighted queue with default weights. [INFO] [stdout] 251 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn push(&mut self, priority: Priority, peer_id: u16, channel: u8, data: Vec) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn pop_weighted(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_BUFFER_SIZE` is never used [INFO] [stdout] --> src/net/fast/jitter.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const MAX_BUFFER_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BufferedPacket` is never constructed [INFO] [stdout] --> src/net/fast/jitter.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct BufferedPacket { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JitterStats` is never constructed [INFO] [stdout] --> src/net/fast/jitter.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct JitterStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JitterBuffer` is never constructed [INFO] [stdout] --> src/net/fast/jitter.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub struct JitterBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/jitter.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 103 | impl JitterBuffer { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 104 | /// Create a new jitter buffer with the specified target delay. [INFO] [stdout] 105 | pub fn new(target_delay: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn with_bounds(target: Duration, min: Duration, max: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn push(&mut self, sequence: u32, timestamp: u32, data: Vec) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn stats(&self) -> &JitterStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn current_delay(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn update_jitter(&mut self, arrival: Instant, timestamp: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn adapt_delay(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn seq_before(&self, a: u32, b: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | fn ts_to_duration(&self, ts: u32, base_ts: u32) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WINDOW_SIZE` is never used [INFO] [stdout] --> src/net/fast/metrics.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | const WINDOW_SIZE: usize = 100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SlidingWindow` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct SlidingWindow { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `average`, `min`, and `max` are never used [INFO] [stdout] --> src/net/fast/metrics.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 44 | impl SlidingWindow { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 45 | const fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn push(&mut self, value: u32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn average(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn min(&self) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn max(&self) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetricsSnapshot` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionMetrics` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct ConnectionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/metrics.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl ConnectionMetrics { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 174 | /// Create new metrics collector. [INFO] [stdout] 175 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn record_sent(&mut self, bytes: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn record_received(&mut self, bytes: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn record_rtt(&mut self, rtt: Duration) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn record_loss(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn record_retransmission(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn rtt_avg(&self) -> Duration { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn jitter(&self) -> Duration { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn loss_percent(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn send_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn recv_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn snapshot(&self) -> MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn maybe_update_rate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AggregateMetrics` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | pub struct AggregateMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetricsCollector` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub struct MetricsCollector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, and `aggregate` are never used [INFO] [stdout] --> src/net/fast/metrics.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 346 | impl MetricsCollector { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 347 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn update(&mut self, snapshots: Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn aggregate(&self) -> AggregateMetrics { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TICKET_SIZE` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | pub const MAX_TICKET_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TICKET_LIFETIME` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const DEFAULT_TICKET_LIFETIME: Duration = Duration::from_secs(300); // 5 minutes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionTicket` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 57 | pub struct SessionTicket { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes` and `as_bytes` are never used [INFO] [stdout] --> src/net/fast/reconnect.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl SessionTicket { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 65 | /// Create from raw bytes. [INFO] [stdout] 66 | pub fn from_bytes(bytes: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn as_bytes(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RestoredSession` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct RestoredSession { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStore` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct SessionStore { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/reconnect.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl SessionStore { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn new(server_key: [u8; 32]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn with_lifetime(mut self, lifetime: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn create_ticket( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn validate_ticket(&mut self, ticket: &SessionTicket) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn derive_encryption_key(&self, ticket_id: &[u8; 16]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn compute_hmac(&self, data: &[u8]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn maybe_cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn used_ticket_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_time_eq` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:285:4 [INFO] [stdout] | [INFO] [stdout] 285 | fn constant_time_eq(a: &[u8], b: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientTicketStore` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:297:12 [INFO] [stdout] | [INFO] [stdout] 297 | pub struct ClientTicketStore { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `store`, `get`, `remove`, and `clear` are never used [INFO] [stdout] --> src/net/fast/reconnect.rs:305:12 [INFO] [stdout] | [INFO] [stdout] 304 | impl ClientTicketStore { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 305 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub fn store(&mut self, server_addr: &str, ticket: SessionTicket) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get(&self, server_addr: &str) -> Option<&SessionTicket> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub fn remove(&mut self, server_addr: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `EntityId` is never used [INFO] [stdout] --> src/net/fast/interest.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | pub type EntityId = u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `distance_squared` are never used [INFO] [stdout] --> src/net/fast/interest.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Position { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 51 | #[inline] [INFO] [stdout] 52 | pub fn new(x: f32, y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn distance_squared(&self, other: &Position) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CellCoord` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct CellCoord { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InterestGrid` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct InterestGrid { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/interest.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl InterestGrid { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn new(cell_size: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn insert(&mut self, id: EntityId, x: f32, y: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn remove(&mut self, id: EntityId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn query(&self, x: f32, y: f32, radius: i32) -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn query_radius(&self, x: f32, y: f32, radius: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn diff_entered( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn diff_left( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn get_position(&self, id: EntityId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn pos_to_cell(&self, x: f32, y: f32) -> CellCoord { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerInterest` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct PlayerInterest { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, `visible`, and `clear` are never used [INFO] [stdout] --> src/net/fast/interest.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl PlayerInterest { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 248 | pub fn new(player_id: EntityId, radius: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn update(&mut self, grid: &InterestGrid) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn visible(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UpdatePriority` is never used [INFO] [stdout] --> src/net/fast/interest.rs:294:10 [INFO] [stdout] | [INFO] [stdout] 294 | pub enum UpdatePriority { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriorityCalculator` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:306:12 [INFO] [stdout] | [INFO] [stdout] 306 | pub struct PriorityCalculator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> src/net/fast/interest.rs:314:12 [INFO] [stdout] | [INFO] [stdout] 313 | impl PriorityCalculator { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 314 | pub fn new(high_distance: f32, normal_distance: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn calculate(&self, distance: f32, is_player: bool) -> UpdatePriority { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionId` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ConnectionId([u8; 16]); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `generate`, `from_bytes`, `as_bytes`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/migration.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ConnectionId { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 46 | /// Generate a new random connection ID. [INFO] [stdout] 47 | pub fn generate() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn from_bytes(bytes: [u8; 16]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn as_bytes(&self) -> &[u8; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MigrationProof` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct MigrationProof { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `create`, `verify`, `compute_hmac`, `to_bytes`, and `from_bytes` are never used [INFO] [stdout] --> src/net/fast/migration.rs:100:15 [INFO] [stdout] | [INFO] [stdout] 99 | impl MigrationProof { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 100 | pub const SIZE: usize = 40; // 32 + 8 [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn create( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn verify( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn compute_hmac( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn to_bytes(&self) -> [u8; Self::SIZE] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn from_bytes(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionState` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:184:8 [INFO] [stdout] | [INFO] [stdout] 184 | struct ConnectionState { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MigrationManager` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct MigrationManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/migration.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 207 | impl MigrationManager { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 208 | /// Create a new migration manager. [INFO] [stdout] 209 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn with_rate_limit(mut self, max_per_minute: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn with_proof_age(mut self, max_secs: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn register( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub fn remove(&mut self, cid: &ConnectionId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn get_cid(&self, addr: &SocketAddr) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn get_peer_id(&self, cid: &ConnectionId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn get_addr(&self, cid: &ConnectionId) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn validate_migration( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn touch(&mut self, cid: &ConnectionId) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn connection_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientMigration` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 364 | pub struct ClientMigration { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `check_migration`, `connection_id`, and `server_addr` are never used [INFO] [stdout] --> src/net/fast/migration.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 375 | impl ClientMigration { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 376 | /// Create a new client migration state. [INFO] [stdout] 377 | pub fn new(cid: ConnectionId, session_key: [u8; 32], server_addr: SocketAddr) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | pub fn check_migration(&mut self, current_addr: SocketAddr) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn connection_id(&self) -> ConnectionId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn server_addr(&self) -> SocketAddr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_to_bytes` is never used [INFO] [stdout] --> src/net/fast/migration.rs:423:4 [INFO] [stdout] | [INFO] [stdout] 423 | fn addr_to_bytes(addr: SocketAddr) -> [u8; 18] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_time_eq` is never used [INFO] [stdout] --> src/net/fast/migration.rs:443:4 [INFO] [stdout] | [INFO] [stdout] 443 | fn constant_time_eq(a: &[u8], b: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACKET_SIZE` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const MAX_PACKET_SIZE: usize = 1200; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_GAIN_CYCLE` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const PROBE_BW_GAIN_CYCLE: [f64; 8] = [1.25, 0.75, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_GAIN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const STARTUP_GAIN: f64 = 2.885; // 2/ln(2) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DRAIN_GAIN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const DRAIN_GAIN: f64 = 1.0 / STARTUP_GAIN; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_DURATION` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | const PROBE_RTT_DURATION: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTPROP_FILTER_LEN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const RTPROP_FILTER_LEN: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BTLBW_FILTER_LEN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const BTLBW_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_CWND` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const MIN_CWND: u32 = 4; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_CWND` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:45:7 [INFO] [stdout] | [INFO] [stdout] 45 | const INITIAL_CWND: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BbrState` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum BbrState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MaxFilter` is never constructed [INFO] [stdout] --> src/net/fast/bbr.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | struct MaxFilter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, `get`, and `reset` are never used [INFO] [stdout] --> src/net/fast/bbr.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl MaxFilter { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 68 | fn new(window_len: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn update(&mut self, value: u64, now: Instant) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn get(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MinFilter` is never constructed [INFO] [stdout] --> src/net/fast/bbr.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | struct MinFilter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, `get`, and `expired` are never used [INFO] [stdout] --> src/net/fast/bbr.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl MinFilter { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 115 | fn new(window: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn update(&mut self, rtt: Duration, now: Instant) -> Duration { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn get(&self) -> Duration { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn expired(&self, now: Instant) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BbrCongestionControl` is never constructed [INFO] [stdout] --> src/net/fast/bbr.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 148 | pub struct BbrCongestionControl { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/bbr.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 196 | impl BbrCongestionControl { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 197 | /// Create new BBR congestion control. [INFO] [stdout] 198 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn on_send(&mut self, _bytes: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub fn on_ack(&mut self, bytes_acked: usize, rtt: Duration) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn on_loss(&mut self, _bytes_lost: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn on_timeout(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | pub fn available_window(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn cwnd(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn pacing_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | pub fn bandwidth(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn min_rtt(&self) -> Duration { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn state(&self) -> BbrState { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn pacing_interval(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | fn calculate_delivery_rate(&self, now: Instant) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | fn update_round(&mut self, _now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | fn check_full_pipe(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn update_startup(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | fn enter_drain(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | fn update_drain(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | fn enter_probe_bw(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | fn update_probe_bw(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | fn enter_probe_rtt(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | fn update_probe_rtt(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 475 | fn restore_after_probe_rtt(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | fn update_pacing_rate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | fn update_cwnd(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 511 | fn bdp(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.33s [INFO] running `Command { std: "docker" "inspect" "64c150ecde58de367fc2af39a02bb84d0b5d2f6715bd1d9ef6e7d1d95e48ad72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64c150ecde58de367fc2af39a02bb84d0b5d2f6715bd1d9ef6e7d1d95e48ad72", kill_on_drop: false }` [INFO] [stdout] 64c150ecde58de367fc2af39a02bb84d0b5d2f6715bd1d9ef6e7d1d95e48ad72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7ee6e263bf3f57b25cdbe80488bb7e0e72aa7144f8814b697b677c1e29bcf84f [INFO] running `Command { std: "docker" "start" "-a" "7ee6e263bf3f57b25cdbe80488bb7e0e72aa7144f8814b697b677c1e29bcf84f", kill_on_drop: false }` [INFO] [stdout] warning: constant `FEC_MAX_PACKET_SIZE` is never used [INFO] [stdout] --> src/net/fast/fec.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const FEC_MAX_PACKET_SIZE: usize = 1200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_GROUP_SIZE` is never used [INFO] [stdout] --> src/net/fast/fec.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | pub const DEFAULT_GROUP_SIZE: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FecPacketType` is never used [INFO] [stdout] --> src/net/fast/fec.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | pub enum FecPacketType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_byte` is never used [INFO] [stdout] --> src/net/fast/fec.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl FecPacketType { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 61 | #[inline] [INFO] [stdout] 62 | pub fn from_byte(b: u8) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecHeader` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct FecHeader { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/fec.rs:86:15 [INFO] [stdout] | [INFO] [stdout] 85 | impl FecHeader { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 86 | pub const SIZE: usize = 5; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecEncoder` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct FecEncoder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/fec.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 121 | impl FecEncoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn new(group_size: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn add_packet(&mut self, data: &[u8]) -> Option<(FecHeader, usize)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_parity(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clear_parity(&mut self, len: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn data_header(&self, packet_index: u8) -> FecHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn current_index(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn current_group(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecGroup` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | struct FecGroup { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_complete`, `can_recover`, and `missing_index` are never used [INFO] [stdout] --> src/net/fast/fec.rs:224:8 [INFO] [stdout] | [INFO] [stdout] 223 | impl FecGroup { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 224 | fn new(group_size: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | fn is_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn can_recover(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | fn missing_index(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FecDecoder` is never constructed [INFO] [stdout] --> src/net/fast/fec.rs:264:12 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct FecDecoder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_packet`, `try_recover`, `evict_oldest`, and `clear` are never used [INFO] [stdout] --> src/net/fast/fec.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 272 | impl FecDecoder { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 273 | /// Create a new decoder. [INFO] [stdout] 274 | pub fn new(group_size: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn add_packet(&mut self, header: &FecHeader, data: &[u8]) -> Option<(u8, Vec)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | fn try_recover(&mut self, group_id: u16) -> Option<(u8, Vec)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn evict_oldest(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELTA_MAX_SIZE` is never used [INFO] [stdout] --> src/net/fast/delta.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const DELTA_MAX_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_SKIP_RUN` is never used [INFO] [stdout] --> src/net/fast/delta.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const MIN_SKIP_RUN: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaHeader` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct DeltaHeader { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/delta.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 55 | impl DeltaHeader { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 56 | pub const SIZE: usize = 4; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaRange` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | struct DeltaRange { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/delta.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 83 | impl DeltaRange { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 84 | const SIZE: usize = 4; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaEncoder` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct DeltaEncoder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `encode`, `encode_full`, `sequence`, and `reset` are never used [INFO] [stdout] --> src/net/fast/delta.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl DeltaEncoder { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 111 | /// Create a new delta encoder. [INFO] [stdout] 112 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn encode<'a>(&'a mut self, old: &[u8], new: &[u8]) -> Option<(&'a [u8], usize)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn encode_full<'a>(&'a mut self, state: &[u8]) -> Option<(&'a [u8], usize)> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn sequence(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeltaDecoder` is never constructed [INFO] [stdout] --> src/net/fast/delta.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | pub struct DeltaDecoder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `apply`, and `last_seq` are never used [INFO] [stdout] --> src/net/fast/delta.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 267 | impl DeltaDecoder { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 268 | /// Create a new decoder. [INFO] [stdout] 269 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn apply(&mut self, delta: &[u8], state: &mut [u8]) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn last_seq(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compression_ratio` is never used [INFO] [stdout] --> src/net/fast/delta.rs:342:8 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn compression_ratio(original_size: usize, delta_size: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Priority` is never used [INFO] [stdout] --> src/net/fast/priority.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum Priority { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `COUNT`, `from_u8`, and `suggested_channel` are never used [INFO] [stdout] --> src/net/fast/priority.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 46 | impl Priority { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 47 | /// Total number of priority levels. [INFO] [stdout] 48 | pub const COUNT: usize = 4; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn from_u8(v: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn suggested_channel(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `QueuedPacket` is never constructed [INFO] [stdout] --> src/net/fast/priority.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct QueuedPacket { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriorityQueue` is never constructed [INFO] [stdout] --> src/net/fast/priority.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct PriorityQueue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/priority.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl PriorityQueue { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 98 | /// Create a new priority queue. [INFO] [stdout] 99 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn with_capacity(max_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn push(&mut self, priority: Priority, peer_id: u16, channel: u8, data: Vec) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn peek(&self) -> Option<&QueuedPacket> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn total_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn count_at(&self, priority: Priority) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn drop_below(&mut self, priority: Priority) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn drain_budget(&mut self, mut budget: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WeightedQueue` is never constructed [INFO] [stdout] --> src/net/fast/priority.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 243 | pub struct WeightedQueue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `pop_weighted`, and `is_empty` are never used [INFO] [stdout] --> src/net/fast/priority.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 249 | impl WeightedQueue { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 250 | /// Create a new weighted queue with default weights. [INFO] [stdout] 251 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn push(&mut self, priority: Priority, peer_id: u16, channel: u8, data: Vec) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn pop_weighted(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_BUFFER_SIZE` is never used [INFO] [stdout] --> src/net/fast/jitter.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const MAX_BUFFER_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BufferedPacket` is never constructed [INFO] [stdout] --> src/net/fast/jitter.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct BufferedPacket { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JitterStats` is never constructed [INFO] [stdout] --> src/net/fast/jitter.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct JitterStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JitterBuffer` is never constructed [INFO] [stdout] --> src/net/fast/jitter.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub struct JitterBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/jitter.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 103 | impl JitterBuffer { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 104 | /// Create a new jitter buffer with the specified target delay. [INFO] [stdout] 105 | pub fn new(target_delay: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn with_bounds(target: Duration, min: Duration, max: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn push(&mut self, sequence: u32, timestamp: u32, data: Vec) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn stats(&self) -> &JitterStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn current_delay(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn depth(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn update_jitter(&mut self, arrival: Instant, timestamp: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn adapt_delay(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn seq_before(&self, a: u32, b: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | fn ts_to_duration(&self, ts: u32, base_ts: u32) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WINDOW_SIZE` is never used [INFO] [stdout] --> src/net/fast/metrics.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | const WINDOW_SIZE: usize = 100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SlidingWindow` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct SlidingWindow { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `average`, `min`, and `max` are never used [INFO] [stdout] --> src/net/fast/metrics.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 44 | impl SlidingWindow { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 45 | const fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn push(&mut self, value: u32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn average(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn min(&self) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn max(&self) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetricsSnapshot` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionMetrics` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct ConnectionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/metrics.rs:175:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl ConnectionMetrics { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 174 | /// Create new metrics collector. [INFO] [stdout] 175 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn record_sent(&mut self, bytes: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn record_received(&mut self, bytes: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn record_rtt(&mut self, rtt: Duration) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn record_loss(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn record_retransmission(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn rtt_avg(&self) -> Duration { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn jitter(&self) -> Duration { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn loss_percent(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn send_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn recv_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn snapshot(&self) -> MetricsSnapshot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn maybe_update_rate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AggregateMetrics` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | pub struct AggregateMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetricsCollector` is never constructed [INFO] [stdout] --> src/net/fast/metrics.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub struct MetricsCollector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, and `aggregate` are never used [INFO] [stdout] --> src/net/fast/metrics.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 346 | impl MetricsCollector { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 347 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn update(&mut self, snapshots: Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn aggregate(&self) -> AggregateMetrics { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TICKET_SIZE` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | pub const MAX_TICKET_SIZE: usize = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_TICKET_LIFETIME` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const DEFAULT_TICKET_LIFETIME: Duration = Duration::from_secs(300); // 5 minutes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionTicket` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 57 | pub struct SessionTicket { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes` and `as_bytes` are never used [INFO] [stdout] --> src/net/fast/reconnect.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl SessionTicket { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 65 | /// Create from raw bytes. [INFO] [stdout] 66 | pub fn from_bytes(bytes: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn as_bytes(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RestoredSession` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct RestoredSession { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStore` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct SessionStore { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/reconnect.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl SessionStore { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn new(server_key: [u8; 32]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn with_lifetime(mut self, lifetime: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn create_ticket( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn validate_ticket(&mut self, ticket: &SessionTicket) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn derive_encryption_key(&self, ticket_id: &[u8; 16]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn compute_hmac(&self, data: &[u8]) -> [u8; 32] { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn maybe_cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn used_ticket_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_time_eq` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:285:4 [INFO] [stdout] | [INFO] [stdout] 285 | fn constant_time_eq(a: &[u8], b: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientTicketStore` is never constructed [INFO] [stdout] --> src/net/fast/reconnect.rs:297:12 [INFO] [stdout] | [INFO] [stdout] 297 | pub struct ClientTicketStore { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `store`, `get`, `remove`, and `clear` are never used [INFO] [stdout] --> src/net/fast/reconnect.rs:305:12 [INFO] [stdout] | [INFO] [stdout] 304 | impl ClientTicketStore { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 305 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub fn store(&mut self, server_addr: &str, ticket: SessionTicket) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn get(&self, server_addr: &str) -> Option<&SessionTicket> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub fn remove(&mut self, server_addr: &str) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `EntityId` is never used [INFO] [stdout] --> src/net/fast/interest.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | pub type EntityId = u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `distance_squared` are never used [INFO] [stdout] --> src/net/fast/interest.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Position { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 51 | #[inline] [INFO] [stdout] 52 | pub fn new(x: f32, y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn distance_squared(&self, other: &Position) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CellCoord` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct CellCoord { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InterestGrid` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct InterestGrid { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/interest.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl InterestGrid { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn new(cell_size: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn insert(&mut self, id: EntityId, x: f32, y: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn remove(&mut self, id: EntityId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn query(&self, x: f32, y: f32, radius: i32) -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn query_radius(&self, x: f32, y: f32, radius: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn diff_entered( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn diff_left( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn get_position(&self, id: EntityId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn pos_to_cell(&self, x: f32, y: f32) -> CellCoord { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerInterest` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 238 | pub struct PlayerInterest { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, `visible`, and `clear` are never used [INFO] [stdout] --> src/net/fast/interest.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl PlayerInterest { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 248 | pub fn new(player_id: EntityId, radius: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn update(&mut self, grid: &InterestGrid) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn visible(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UpdatePriority` is never used [INFO] [stdout] --> src/net/fast/interest.rs:294:10 [INFO] [stdout] | [INFO] [stdout] 294 | pub enum UpdatePriority { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriorityCalculator` is never constructed [INFO] [stdout] --> src/net/fast/interest.rs:306:12 [INFO] [stdout] | [INFO] [stdout] 306 | pub struct PriorityCalculator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calculate` are never used [INFO] [stdout] --> src/net/fast/interest.rs:314:12 [INFO] [stdout] | [INFO] [stdout] 313 | impl PriorityCalculator { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 314 | pub fn new(high_distance: f32, normal_distance: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn calculate(&self, distance: f32, is_player: bool) -> UpdatePriority { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionId` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ConnectionId([u8; 16]); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `generate`, `from_bytes`, `as_bytes`, `write_to`, and `read_from` are never used [INFO] [stdout] --> src/net/fast/migration.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ConnectionId { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 46 | /// Generate a new random connection ID. [INFO] [stdout] 47 | pub fn generate() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn from_bytes(bytes: [u8; 16]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn as_bytes(&self) -> &[u8; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MigrationProof` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct MigrationProof { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `SIZE`, `create`, `verify`, `compute_hmac`, `to_bytes`, and `from_bytes` are never used [INFO] [stdout] --> src/net/fast/migration.rs:100:15 [INFO] [stdout] | [INFO] [stdout] 99 | impl MigrationProof { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 100 | pub const SIZE: usize = 40; // 32 + 8 [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn create( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn verify( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn compute_hmac( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn to_bytes(&self) -> [u8; Self::SIZE] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn from_bytes(buf: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectionState` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:184:8 [INFO] [stdout] | [INFO] [stdout] 184 | struct ConnectionState { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MigrationManager` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct MigrationManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/migration.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 207 | impl MigrationManager { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 208 | /// Create a new migration manager. [INFO] [stdout] 209 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn with_rate_limit(mut self, max_per_minute: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn with_proof_age(mut self, max_secs: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn register( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub fn remove(&mut self, cid: &ConnectionId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn get_cid(&self, addr: &SocketAddr) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn get_peer_id(&self, cid: &ConnectionId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn get_addr(&self, cid: &ConnectionId) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn validate_migration( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn touch(&mut self, cid: &ConnectionId) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn connection_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientMigration` is never constructed [INFO] [stdout] --> src/net/fast/migration.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 364 | pub struct ClientMigration { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `check_migration`, `connection_id`, and `server_addr` are never used [INFO] [stdout] --> src/net/fast/migration.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 375 | impl ClientMigration { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 376 | /// Create a new client migration state. [INFO] [stdout] 377 | pub fn new(cid: ConnectionId, session_key: [u8; 32], server_addr: SocketAddr) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | pub fn check_migration(&mut self, current_addr: SocketAddr) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn connection_id(&self) -> ConnectionId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn server_addr(&self) -> SocketAddr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_to_bytes` is never used [INFO] [stdout] --> src/net/fast/migration.rs:423:4 [INFO] [stdout] | [INFO] [stdout] 423 | fn addr_to_bytes(addr: SocketAddr) -> [u8; 18] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_time_eq` is never used [INFO] [stdout] --> src/net/fast/migration.rs:443:4 [INFO] [stdout] | [INFO] [stdout] 443 | fn constant_time_eq(a: &[u8], b: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PACKET_SIZE` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const MAX_PACKET_SIZE: usize = 1200; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_BW_GAIN_CYCLE` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const PROBE_BW_GAIN_CYCLE: [f64; 8] = [1.25, 0.75, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTUP_GAIN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const STARTUP_GAIN: f64 = 2.885; // 2/ln(2) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DRAIN_GAIN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const DRAIN_GAIN: f64 = 1.0 / STARTUP_GAIN; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROBE_RTT_DURATION` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | const PROBE_RTT_DURATION: Duration = Duration::from_millis(200); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTPROP_FILTER_LEN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const RTPROP_FILTER_LEN: Duration = Duration::from_secs(10); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BTLBW_FILTER_LEN` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const BTLBW_FILTER_LEN: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_CWND` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const MIN_CWND: u32 = 4; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INITIAL_CWND` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:45:7 [INFO] [stdout] | [INFO] [stdout] 45 | const INITIAL_CWND: u32 = 10; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BbrState` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum BbrState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MaxFilter` is never constructed [INFO] [stdout] --> src/net/fast/bbr.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | struct MaxFilter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, `get`, and `reset` are never used [INFO] [stdout] --> src/net/fast/bbr.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl MaxFilter { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 68 | fn new(window_len: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn update(&mut self, value: u64, now: Instant) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn get(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MinFilter` is never constructed [INFO] [stdout] --> src/net/fast/bbr.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | struct MinFilter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, `get`, and `expired` are never used [INFO] [stdout] --> src/net/fast/bbr.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 114 | impl MinFilter { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 115 | fn new(window: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn update(&mut self, rtt: Duration, now: Instant) -> Duration { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn get(&self) -> Duration { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn expired(&self, now: Instant) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BbrCongestionControl` is never constructed [INFO] [stdout] --> src/net/fast/bbr.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 148 | pub struct BbrCongestionControl { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/net/fast/bbr.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 196 | impl BbrCongestionControl { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 197 | /// Create new BBR congestion control. [INFO] [stdout] 198 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn on_send(&mut self, _bytes: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub fn on_ack(&mut self, bytes_acked: usize, rtt: Duration) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn on_loss(&mut self, _bytes_lost: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn on_timeout(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | pub fn available_window(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn cwnd(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn pacing_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | pub fn bandwidth(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn min_rtt(&self) -> Duration { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn state(&self) -> BbrState { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn pacing_interval(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 353 | fn calculate_delivery_rate(&self, now: Instant) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | fn update_round(&mut self, _now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | fn check_full_pipe(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn update_startup(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | fn enter_drain(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 410 | fn update_drain(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | fn enter_probe_bw(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | fn update_probe_bw(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | fn enter_probe_rtt(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | fn update_probe_rtt(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 475 | fn restore_after_probe_rtt(&mut self, now: Instant) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | fn update_pacing_rate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | fn update_cwnd(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 511 | fn bdp(&self) -> u64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling fastnet v0.3.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: constant `DEFAULT_GROUP_SIZE` is never used [INFO] [stdout] --> src/net/fast/fec.rs:48:11 [INFO] [stdout] | [INFO] [stdout] 48 | pub const DEFAULT_GROUP_SIZE: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `current_index` and `current_group` are never used [INFO] [stdout] --> src/net/fast/fec.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 121 | impl FecEncoder { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn current_index(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn current_group(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `group_size` is never read [INFO] [stdout] --> src/net/fast/fec.rs:265:5 [INFO] [stdout] | [INFO] [stdout] 264 | pub struct FecDecoder { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 265 | group_size: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/net/fast/fec.rs:366:12 [INFO] [stdout] | [INFO] [stdout] 272 | impl FecDecoder { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 366 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sequence` and `reset` are never used [INFO] [stdout] --> src/net/fast/delta.rs:246:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl DeltaEncoder { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn sequence(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `last_seq` is never used [INFO] [stdout] --> src/net/fast/delta.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 267 | impl DeltaDecoder { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn last_seq(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_u8` and `suggested_channel` are never used [INFO] [stdout] --> src/net/fast/priority.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Priority { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn from_u8(v: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn suggested_channel(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `peer_id` and `channel` are never read [INFO] [stdout] --> src/net/fast/priority.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct QueuedPacket { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 81 | pub peer_id: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 82 | pub channel: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QueuedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `peek`, `is_empty`, `total_size`, `count_at`, and `clear` are never used [INFO] [stdout] --> src/net/fast/priority.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl PriorityQueue { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn peek(&self) -> Option<&QueuedPacket> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn total_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn count_at(&self, priority: Priority) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/net/fast/priority.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 249 | impl WeightedQueue { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/net/fast/jitter.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct BufferedPacket { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BufferedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_bounds`, `current_delay`, and `reset` are never used [INFO] [stdout] --> src/net/fast/jitter.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 103 | impl JitterBuffer { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn with_bounds(target: Duration, min: Duration, max: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn current_delay(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rtt_min_us`, `rtt_max_us`, `jitter_us`, `packets_received`, `retransmissions`, and `uptime` are never read [INFO] [stdout] --> src/net/fast/metrics.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct MetricsSnapshot { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 109 | pub rtt_min_us: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 110 | /// Maximum RTT in microseconds. [INFO] [stdout] 111 | pub rtt_max_us: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 112 | /// Jitter (RTT variance) in microseconds. [INFO] [stdout] 113 | pub jitter_us: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub packets_received: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub retransmissions: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub uptime: Duration, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MetricsSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_retransmission`, `rtt_avg`, `send_rate`, `recv_rate`, and `reset` are never used [INFO] [stdout] --> src/net/fast/metrics.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl ConnectionMetrics { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn record_retransmission(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn rtt_avg(&self) -> Duration { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn send_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn recv_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `used_ticket_count` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl SessionStore { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn used_ticket_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/net/fast/reconnect.rs:338:12 [INFO] [stdout] | [INFO] [stdout] 304 | impl ClientTicketStore { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 338 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cell_size` is never read [INFO] [stdout] --> src/net/fast/interest.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct InterestGrid { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 73 | /// Cell size in world units. [INFO] [stdout] 74 | cell_size: f32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `len`, `is_empty`, and `clear` are never used [INFO] [stdout] --> src/net/fast/interest.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl InterestGrid { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `visible` and `clear` are never used [INFO] [stdout] --> src/net/fast/interest.rs:281:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl PlayerInterest { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn visible(&self) -> &HashSet { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_bytes` is never used [INFO] [stdout] --> src/net/fast/migration.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ConnectionId { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn from_bytes(bytes: [u8; 16]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `connection_timeout` is never read [INFO] [stdout] --> src/net/fast/migration.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct MigrationManager { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 204 | connection_timeout: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_proof_age`, `remove`, `get_cid`, `touch`, `cleanup`, and `connection_count` are never used [INFO] [stdout] --> src/net/fast/migration.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 207 | impl MigrationManager { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn with_proof_age(mut self, max_secs: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub fn remove(&mut self, cid: &ConnectionId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn get_cid(&self, addr: &SocketAddr) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn touch(&mut self, cid: &ConnectionId) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | pub fn cleanup(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | pub fn connection_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `server_addr` is never read [INFO] [stdout] --> src/net/fast/migration.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 364 | pub struct ClientMigration { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 370 | server_addr: SocketAddr, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `connection_id` and `server_addr` are never used [INFO] [stdout] --> src/net/fast/migration.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 375 | impl ClientMigration { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 411 | pub fn connection_id(&self) -> ConnectionId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn server_addr(&self) -> SocketAddr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/net/fast/bbr.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl MaxFilter { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `delivered_time` is never read [INFO] [stdout] --> src/net/fast/bbr.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub struct BbrCongestionControl { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 172 | delivered_time: Instant, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BbrCongestionControl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `on_timeout`, `cwnd`, `pacing_rate`, `bandwidth`, and `state` are never used [INFO] [stdout] --> src/net/fast/bbr.rs:297:12 [INFO] [stdout] | [INFO] [stdout] 196 | impl BbrCongestionControl { [INFO] [stdout] | ------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn on_timeout(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn cwnd(&self) -> u32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn pacing_rate(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | pub fn bandwidth(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn state(&self) -> BbrState { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.72s [INFO] running `Command { std: "docker" "inspect" "7ee6e263bf3f57b25cdbe80488bb7e0e72aa7144f8814b697b677c1e29bcf84f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ee6e263bf3f57b25cdbe80488bb7e0e72aa7144f8814b697b677c1e29bcf84f", kill_on_drop: false }` [INFO] [stdout] 7ee6e263bf3f57b25cdbe80488bb7e0e72aa7144f8814b697b677c1e29bcf84f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8eb16e4d79ab37fc168655826b8699ae3d8f587c55ec24e9b1fe0f9bd12a1dee [INFO] running `Command { std: "docker" "start" "-a" "8eb16e4d79ab37fc168655826b8699ae3d8f587c55ec24e9b1fe0f9bd12a1dee", kill_on_drop: false }` [INFO] [stderr] warning: constant `FEC_MAX_PACKET_SIZE` is never used [INFO] [stderr] --> src/net/fast/fec.rs:45:11 [INFO] [stderr] | [INFO] [stderr] 45 | pub const FEC_MAX_PACKET_SIZE: usize = 1200; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_GROUP_SIZE` is never used [INFO] [stderr] --> src/net/fast/fec.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | pub const DEFAULT_GROUP_SIZE: u8 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `FecPacketType` is never used [INFO] [stderr] --> src/net/fast/fec.rs:53:10 [INFO] [stderr] | [INFO] [stderr] 53 | pub enum FecPacketType { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `from_byte` is never used [INFO] [stderr] --> src/net/fast/fec.rs:62:12 [INFO] [stderr] | [INFO] [stderr] 60 | impl FecPacketType { [INFO] [stderr] | ------------------ associated function in this implementation [INFO] [stderr] 61 | #[inline] [INFO] [stderr] 62 | pub fn from_byte(b: u8) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FecHeader` is never constructed [INFO] [stderr] --> src/net/fast/fec.rs:78:12 [INFO] [stderr] | [INFO] [stderr] 78 | pub struct FecHeader { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stderr] --> src/net/fast/fec.rs:86:15 [INFO] [stderr] | [INFO] [stderr] 85 | impl FecHeader { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 86 | pub const SIZE: usize = 5; [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 89 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 97 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FecEncoder` is never constructed [INFO] [stderr] --> src/net/fast/fec.rs:113:12 [INFO] [stderr] | [INFO] [stderr] 113 | pub struct FecEncoder { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/fec.rs:127:12 [INFO] [stderr] | [INFO] [stderr] 121 | impl FecEncoder { [INFO] [stderr] | --------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 127 | pub fn new(group_size: u8) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 143 | pub fn add_packet(&mut self, data: &[u8]) -> Option<(FecHeader, usize)> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 178 | pub fn get_parity(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 184 | pub fn clear_parity(&mut self, len: usize) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 192 | pub fn data_header(&self, packet_index: u8) -> FecHeader { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 203 | pub fn current_index(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 209 | pub fn current_group(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FecGroup` is never constructed [INFO] [stderr] --> src/net/fast/fec.rs:215:8 [INFO] [stderr] | [INFO] [stderr] 215 | struct FecGroup { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `is_complete`, `can_recover`, and `missing_index` are never used [INFO] [stderr] --> src/net/fast/fec.rs:224:8 [INFO] [stderr] | [INFO] [stderr] 223 | impl FecGroup { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] 224 | fn new(group_size: u8) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 235 | fn is_complete(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 241 | fn can_recover(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 252 | fn missing_index(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FecDecoder` is never constructed [INFO] [stderr] --> src/net/fast/fec.rs:264:12 [INFO] [stderr] | [INFO] [stderr] 264 | pub struct FecDecoder { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `add_packet`, `try_recover`, `evict_oldest`, and `clear` are never used [INFO] [stderr] --> src/net/fast/fec.rs:274:12 [INFO] [stderr] | [INFO] [stderr] 272 | impl FecDecoder { [INFO] [stderr] | --------------- associated items in this implementation [INFO] [stderr] 273 | /// Create a new decoder. [INFO] [stderr] 274 | pub fn new(group_size: u8) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | pub fn add_packet(&mut self, header: &FecHeader, data: &[u8]) -> Option<(u8, Vec)> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 320 | fn try_recover(&mut self, group_id: u16) -> Option<(u8, Vec)> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 359 | fn evict_oldest(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 366 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DELTA_MAX_SIZE` is never used [INFO] [stderr] --> src/net/fast/delta.rs:39:11 [INFO] [stderr] | [INFO] [stderr] 39 | pub const DELTA_MAX_SIZE: usize = 4096; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_SKIP_RUN` is never used [INFO] [stderr] --> src/net/fast/delta.rs:42:7 [INFO] [stderr] | [INFO] [stderr] 42 | const MIN_SKIP_RUN: usize = 4; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DeltaHeader` is never constructed [INFO] [stderr] --> src/net/fast/delta.rs:50:12 [INFO] [stderr] | [INFO] [stderr] 50 | pub struct DeltaHeader { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stderr] --> src/net/fast/delta.rs:56:15 [INFO] [stderr] | [INFO] [stderr] 55 | impl DeltaHeader { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 56 | pub const SIZE: usize = 4; [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 59 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 65 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DeltaRange` is never constructed [INFO] [stderr] --> src/net/fast/delta.rs:78:8 [INFO] [stderr] | [INFO] [stderr] 78 | struct DeltaRange { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `SIZE`, `write_to`, and `read_from` are never used [INFO] [stderr] --> src/net/fast/delta.rs:84:11 [INFO] [stderr] | [INFO] [stderr] 83 | impl DeltaRange { [INFO] [stderr] | --------------- associated items in this implementation [INFO] [stderr] 84 | const SIZE: usize = 4; [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | fn write_to(&self, buf: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 93 | fn read_from(buf: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DeltaEncoder` is never constructed [INFO] [stderr] --> src/net/fast/delta.rs:105:12 [INFO] [stderr] | [INFO] [stderr] 105 | pub struct DeltaEncoder { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `encode`, `encode_full`, `sequence`, and `reset` are never used [INFO] [stderr] --> src/net/fast/delta.rs:112:12 [INFO] [stderr] | [INFO] [stderr] 110 | impl DeltaEncoder { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] 111 | /// Create a new delta encoder. [INFO] [stderr] 112 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 132 | pub fn encode<'a>(&'a mut self, old: &[u8], new: &[u8]) -> Option<(&'a [u8], usize)> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 224 | pub fn encode_full<'a>(&'a mut self, state: &[u8]) -> Option<(&'a [u8], usize)> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 246 | pub fn sequence(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 251 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DeltaDecoder` is never constructed [INFO] [stderr] --> src/net/fast/delta.rs:263:12 [INFO] [stderr] | [INFO] [stderr] 263 | pub struct DeltaDecoder { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `apply`, and `last_seq` are never used [INFO] [stderr] --> src/net/fast/delta.rs:269:12 [INFO] [stderr] | [INFO] [stderr] 267 | impl DeltaDecoder { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] 268 | /// Create a new decoder. [INFO] [stderr] 269 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 285 | pub fn apply(&mut self, delta: &[u8], state: &mut [u8]) -> Result<(), &'static str> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 329 | pub fn last_seq(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `compression_ratio` is never used [INFO] [stderr] --> src/net/fast/delta.rs:342:8 [INFO] [stderr] | [INFO] [stderr] 342 | pub fn compression_ratio(original_size: usize, delta_size: usize) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Priority` is never used [INFO] [stderr] --> src/net/fast/priority.rs:35:10 [INFO] [stderr] | [INFO] [stderr] 35 | pub enum Priority { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `COUNT`, `from_u8`, and `suggested_channel` are never used [INFO] [stderr] --> src/net/fast/priority.rs:48:15 [INFO] [stderr] | [INFO] [stderr] 46 | impl Priority { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] 47 | /// Total number of priority levels. [INFO] [stderr] 48 | pub const COUNT: usize = 4; [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | pub fn from_u8(v: u8) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | pub fn suggested_channel(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `QueuedPacket` is never constructed [INFO] [stderr] --> src/net/fast/priority.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 80 | pub struct QueuedPacket { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PriorityQueue` is never constructed [INFO] [stderr] --> src/net/fast/priority.rs:91:12 [INFO] [stderr] | [INFO] [stderr] 91 | pub struct PriorityQueue { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/priority.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 97 | impl PriorityQueue { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 98 | /// Create a new priority queue. [INFO] [stderr] 99 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | pub fn with_capacity(max_size: usize) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 121 | pub fn push(&mut self, priority: Priority, peer_id: u16, channel: u8, data: Vec) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 141 | pub fn pop(&mut self) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 153 | pub fn peek(&self) -> Option<&QueuedPacket> { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 164 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 170 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 176 | pub fn total_size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 182 | pub fn count_at(&self, priority: Priority) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 189 | pub fn drop_below(&mut self, priority: Priority) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 198 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 208 | pub fn drain_budget(&mut self, mut budget: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `WeightedQueue` is never constructed [INFO] [stderr] --> src/net/fast/priority.rs:243:12 [INFO] [stderr] | [INFO] [stderr] 243 | pub struct WeightedQueue { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `push`, `pop_weighted`, and `is_empty` are never used [INFO] [stderr] --> src/net/fast/priority.rs:251:12 [INFO] [stderr] | [INFO] [stderr] 249 | impl WeightedQueue { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 250 | /// Create a new weighted queue with default weights. [INFO] [stderr] 251 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 261 | pub fn push(&mut self, priority: Priority, peer_id: u16, channel: u8, data: Vec) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 268 | pub fn pop_weighted(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 298 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_BUFFER_SIZE` is never used [INFO] [stderr] --> src/net/fast/jitter.rs:39:7 [INFO] [stderr] | [INFO] [stderr] 39 | const MAX_BUFFER_SIZE: usize = 256; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BufferedPacket` is never constructed [INFO] [stderr] --> src/net/fast/jitter.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 43 | pub struct BufferedPacket { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `JitterStats` is never constructed [INFO] [stderr] --> src/net/fast/jitter.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | pub struct JitterStats { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `JitterBuffer` is never constructed [INFO] [stderr] --> src/net/fast/jitter.rs:74:12 [INFO] [stderr] | [INFO] [stderr] 74 | pub struct JitterBuffer { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/jitter.rs:105:12 [INFO] [stderr] | [INFO] [stderr] 103 | impl JitterBuffer { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] 104 | /// Create a new jitter buffer with the specified target delay. [INFO] [stderr] 105 | pub fn new(target_delay: Duration) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | pub fn with_bounds(target: Duration, min: Duration, max: Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 134 | pub fn push(&mut self, sequence: u32, timestamp: u32, data: Vec) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 186 | pub fn pop(&mut self) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 229 | pub fn stats(&self) -> &JitterStats { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 235 | pub fn current_delay(&self) -> Duration { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 241 | pub fn depth(&self) -> usize { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 246 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 255 | fn update_jitter(&mut self, arrival: Instant, timestamp: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 273 | fn adapt_delay(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 291 | fn seq_before(&self, a: u32, b: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 298 | fn ts_to_duration(&self, ts: u32, base_ts: u32) -> Duration { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `WINDOW_SIZE` is never used [INFO] [stderr] --> src/net/fast/metrics.rs:33:7 [INFO] [stderr] | [INFO] [stderr] 33 | const WINDOW_SIZE: usize = 100; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SlidingWindow` is never constructed [INFO] [stderr] --> src/net/fast/metrics.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | struct SlidingWindow { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `push`, `average`, `min`, and `max` are never used [INFO] [stderr] --> src/net/fast/metrics.rs:45:14 [INFO] [stderr] | [INFO] [stderr] 44 | impl SlidingWindow { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 45 | const fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 55 | fn push(&mut self, value: u32) { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | fn average(&self) -> u32 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 79 | fn min(&self) -> u32 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 88 | fn max(&self) -> u32 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MetricsSnapshot` is never constructed [INFO] [stderr] --> src/net/fast/metrics.rs:105:12 [INFO] [stderr] | [INFO] [stderr] 105 | pub struct MetricsSnapshot { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ConnectionMetrics` is never constructed [INFO] [stderr] --> src/net/fast/metrics.rs:137:12 [INFO] [stderr] | [INFO] [stderr] 137 | pub struct ConnectionMetrics { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/metrics.rs:175:12 [INFO] [stderr] | [INFO] [stderr] 173 | impl ConnectionMetrics { [INFO] [stderr] | ---------------------- associated items in this implementation [INFO] [stderr] 174 | /// Create new metrics collector. [INFO] [stderr] 175 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 198 | pub fn record_sent(&mut self, bytes: usize) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 207 | pub fn record_received(&mut self, bytes: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 216 | pub fn record_rtt(&mut self, rtt: Duration) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 231 | pub fn record_loss(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 237 | pub fn record_retransmission(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 243 | pub fn rtt_avg(&self) -> Duration { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 249 | pub fn jitter(&self) -> Duration { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 255 | pub fn loss_percent(&self) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 265 | pub fn send_rate(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 271 | pub fn recv_rate(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 276 | pub fn snapshot(&self) -> MetricsSnapshot { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 296 | fn maybe_update_rate(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 311 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `AggregateMetrics` is never constructed [INFO] [stderr] --> src/net/fast/metrics.rs:324:12 [INFO] [stderr] | [INFO] [stderr] 324 | pub struct AggregateMetrics { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MetricsCollector` is never constructed [INFO] [stderr] --> src/net/fast/metrics.rs:342:12 [INFO] [stderr] | [INFO] [stderr] 342 | pub struct MetricsCollector { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `update`, and `aggregate` are never used [INFO] [stderr] --> src/net/fast/metrics.rs:347:12 [INFO] [stderr] | [INFO] [stderr] 346 | impl MetricsCollector { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 347 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 354 | pub fn update(&mut self, snapshots: Vec) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 359 | pub fn aggregate(&self) -> AggregateMetrics { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_TICKET_SIZE` is never used [INFO] [stderr] --> src/net/fast/reconnect.rs:42:11 [INFO] [stderr] | [INFO] [stderr] 42 | pub const MAX_TICKET_SIZE: usize = 256; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_TICKET_LIFETIME` is never used [INFO] [stderr] --> src/net/fast/reconnect.rs:45:11 [INFO] [stderr] | [INFO] [stderr] 45 | pub const DEFAULT_TICKET_LIFETIME: Duration = Duration::from_secs(300); // 5 minutes [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SessionTicket` is never constructed [INFO] [stderr] --> src/net/fast/reconnect.rs:57:12 [INFO] [stderr] | [INFO] [stderr] 57 | pub struct SessionTicket { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `from_bytes` and `as_bytes` are never used [INFO] [stderr] --> src/net/fast/reconnect.rs:66:12 [INFO] [stderr] | [INFO] [stderr] 64 | impl SessionTicket { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 65 | /// Create from raw bytes. [INFO] [stderr] 66 | pub fn from_bytes(bytes: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 80 | pub fn as_bytes(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RestoredSession` is never constructed [INFO] [stderr] --> src/net/fast/reconnect.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | pub struct RestoredSession { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `SessionStore` is never constructed [INFO] [stderr] --> src/net/fast/reconnect.rs:99:12 [INFO] [stderr] | [INFO] [stderr] 99 | pub struct SessionStore { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/reconnect.rs:114:12 [INFO] [stderr] | [INFO] [stderr] 110 | impl SessionStore { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 114 | pub fn new(server_key: [u8; 32]) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | pub fn with_lifetime(mut self, lifetime: Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 136 | pub fn create_ticket( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 184 | pub fn validate_ticket(&mut self, ticket: &SessionTicket) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 247 | fn derive_encryption_key(&self, ticket_id: &[u8; 16]) -> [u8; 32] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 255 | fn compute_hmac(&self, data: &[u8]) -> [u8; 32] { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 263 | fn maybe_cleanup(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 278 | pub fn used_ticket_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `constant_time_eq` is never used [INFO] [stderr] --> src/net/fast/reconnect.rs:285:4 [INFO] [stderr] | [INFO] [stderr] 285 | fn constant_time_eq(a: &[u8], b: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ClientTicketStore` is never constructed [INFO] [stderr] --> src/net/fast/reconnect.rs:297:12 [INFO] [stderr] | [INFO] [stderr] 297 | pub struct ClientTicketStore { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `store`, `get`, `remove`, and `clear` are never used [INFO] [stderr] --> src/net/fast/reconnect.rs:305:12 [INFO] [stderr] | [INFO] [stderr] 304 | impl ClientTicketStore { [INFO] [stderr] | ---------------------- associated items in this implementation [INFO] [stderr] 305 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 313 | pub fn store(&mut self, server_addr: &str, ticket: SessionTicket) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 328 | pub fn get(&self, server_addr: &str) -> Option<&SessionTicket> { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 333 | pub fn remove(&mut self, server_addr: &str) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 338 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `EntityId` is never used [INFO] [stderr] --> src/net/fast/interest.rs:41:10 [INFO] [stderr] | [INFO] [stderr] 41 | pub type EntityId = u32; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Position` is never constructed [INFO] [stderr] --> src/net/fast/interest.rs:45:12 [INFO] [stderr] | [INFO] [stderr] 45 | pub struct Position { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `distance_squared` are never used [INFO] [stderr] --> src/net/fast/interest.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 50 | impl Position { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] 51 | #[inline] [INFO] [stderr] 52 | pub fn new(x: f32, y: f32) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | pub fn distance_squared(&self, other: &Position) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CellCoord` is never constructed [INFO] [stderr] --> src/net/fast/interest.rs:66:8 [INFO] [stderr] | [INFO] [stderr] 66 | struct CellCoord { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `InterestGrid` is never constructed [INFO] [stderr] --> src/net/fast/interest.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 72 | pub struct InterestGrid { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/interest.rs:89:12 [INFO] [stderr] | [INFO] [stderr] 85 | impl InterestGrid { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 89 | pub fn new(cell_size: f32) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 102 | pub fn insert(&mut self, id: EntityId, x: f32, y: f32) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 126 | pub fn remove(&mut self, id: EntityId) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 138 | pub fn query(&self, x: f32, y: f32, radius: i32) -> Vec { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 158 | pub fn query_radius(&self, x: f32, y: f32, radius: f32) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 174 | pub fn diff_entered( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 188 | pub fn diff_left( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 204 | pub fn get_position(&self, id: EntityId) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 210 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 216 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 221 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 229 | fn pos_to_cell(&self, x: f32, y: f32) -> CellCoord { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PlayerInterest` is never constructed [INFO] [stderr] --> src/net/fast/interest.rs:238:12 [INFO] [stderr] | [INFO] [stderr] 238 | pub struct PlayerInterest { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `update`, `visible`, and `clear` are never used [INFO] [stderr] --> src/net/fast/interest.rs:248:12 [INFO] [stderr] | [INFO] [stderr] 247 | impl PlayerInterest { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] 248 | pub fn new(player_id: EntityId, radius: i32) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 259 | pub fn update(&mut self, grid: &InterestGrid) -> (Vec, Vec) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 281 | pub fn visible(&self) -> &HashSet { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `UpdatePriority` is never used [INFO] [stderr] --> src/net/fast/interest.rs:294:10 [INFO] [stderr] | [INFO] [stderr] 294 | pub enum UpdatePriority { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PriorityCalculator` is never constructed [INFO] [stderr] --> src/net/fast/interest.rs:306:12 [INFO] [stderr] | [INFO] [stderr] 306 | pub struct PriorityCalculator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `calculate` are never used [INFO] [stderr] --> src/net/fast/interest.rs:314:12 [INFO] [stderr] | [INFO] [stderr] 313 | impl PriorityCalculator { [INFO] [stderr] | ----------------------- associated items in this implementation [INFO] [stderr] 314 | pub fn new(high_distance: f32, normal_distance: f32) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 322 | pub fn calculate(&self, distance: f32, is_player: bool) -> UpdatePriority { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ConnectionId` is never constructed [INFO] [stderr] --> src/net/fast/migration.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 43 | pub struct ConnectionId([u8; 16]); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `generate`, `from_bytes`, `as_bytes`, `write_to`, and `read_from` are never used [INFO] [stderr] --> src/net/fast/migration.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 45 | impl ConnectionId { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] 46 | /// Generate a new random connection ID. [INFO] [stderr] 47 | pub fn generate() -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | pub fn from_bytes(bytes: [u8; 16]) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 60 | pub fn as_bytes(&self) -> &[u8; 16] { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | pub fn write_to(&self, buf: &mut [u8]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn read_from(buf: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MigrationProof` is never constructed [INFO] [stderr] --> src/net/fast/migration.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 92 | pub struct MigrationProof { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `SIZE`, `create`, `verify`, `compute_hmac`, `to_bytes`, and `from_bytes` are never used [INFO] [stderr] --> src/net/fast/migration.rs:100:15 [INFO] [stderr] | [INFO] [stderr] 99 | impl MigrationProof { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] 100 | pub const SIZE: usize = 40; // 32 + 8 [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 103 | pub fn create( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 120 | pub fn verify( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 144 | fn compute_hmac( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 161 | pub fn to_bytes(&self) -> [u8; Self::SIZE] { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 169 | pub fn from_bytes(buf: &[u8]) -> Option { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ConnectionState` is never constructed [INFO] [stderr] --> src/net/fast/migration.rs:184:8 [INFO] [stderr] | [INFO] [stderr] 184 | struct ConnectionState { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MigrationManager` is never constructed [INFO] [stderr] --> src/net/fast/migration.rs:194:12 [INFO] [stderr] | [INFO] [stderr] 194 | pub struct MigrationManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/migration.rs:209:12 [INFO] [stderr] | [INFO] [stderr] 207 | impl MigrationManager { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 208 | /// Create a new migration manager. [INFO] [stderr] 209 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 220 | pub fn with_rate_limit(mut self, max_per_minute: u32) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 226 | pub fn with_proof_age(mut self, max_secs: u64) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 232 | pub fn register( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 253 | pub fn remove(&mut self, cid: &ConnectionId) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 261 | pub fn get_cid(&self, addr: &SocketAddr) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 267 | pub fn get_peer_id(&self, cid: &ConnectionId) -> Option { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 273 | pub fn get_addr(&self, cid: &ConnectionId) -> Option { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 280 | pub fn validate_migration( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 330 | pub fn touch(&mut self, cid: &ConnectionId) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 337 | pub fn cleanup(&mut self) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 352 | pub fn connection_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ClientMigration` is never constructed [INFO] [stderr] --> src/net/fast/migration.rs:364:12 [INFO] [stderr] | [INFO] [stderr] 364 | pub struct ClientMigration { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `check_migration`, `connection_id`, and `server_addr` are never used [INFO] [stderr] --> src/net/fast/migration.rs:377:12 [INFO] [stderr] | [INFO] [stderr] 375 | impl ClientMigration { [INFO] [stderr] | -------------------- associated items in this implementation [INFO] [stderr] 376 | /// Create a new client migration state. [INFO] [stderr] 377 | pub fn new(cid: ConnectionId, session_key: [u8; 32], server_addr: SocketAddr) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 389 | pub fn check_migration(&mut self, current_addr: SocketAddr) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 411 | pub fn connection_id(&self) -> ConnectionId { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 417 | pub fn server_addr(&self) -> SocketAddr { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `addr_to_bytes` is never used [INFO] [stderr] --> src/net/fast/migration.rs:423:4 [INFO] [stderr] | [INFO] [stderr] 423 | fn addr_to_bytes(addr: SocketAddr) -> [u8; 18] { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `constant_time_eq` is never used [INFO] [stderr] --> src/net/fast/migration.rs:443:4 [INFO] [stderr] | [INFO] [stderr] 443 | fn constant_time_eq(a: &[u8], b: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MAX_PACKET_SIZE` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:21:7 [INFO] [stderr] | [INFO] [stderr] 21 | const MAX_PACKET_SIZE: usize = 1200; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_BW_GAIN_CYCLE` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | const PROBE_BW_GAIN_CYCLE: [f64; 8] = [1.25, 0.75, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STARTUP_GAIN` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:27:7 [INFO] [stderr] | [INFO] [stderr] 27 | const STARTUP_GAIN: f64 = 2.885; // 2/ln(2) [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DRAIN_GAIN` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:30:7 [INFO] [stderr] | [INFO] [stderr] 30 | const DRAIN_GAIN: f64 = 1.0 / STARTUP_GAIN; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PROBE_RTT_DURATION` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:33:7 [INFO] [stderr] | [INFO] [stderr] 33 | const PROBE_RTT_DURATION: Duration = Duration::from_millis(200); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RTPROP_FILTER_LEN` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | const RTPROP_FILTER_LEN: Duration = Duration::from_secs(10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `BTLBW_FILTER_LEN` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:39:7 [INFO] [stderr] | [INFO] [stderr] 39 | const BTLBW_FILTER_LEN: usize = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MIN_CWND` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:42:7 [INFO] [stderr] | [INFO] [stderr] 42 | const MIN_CWND: u32 = 4; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `INITIAL_CWND` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:45:7 [INFO] [stderr] | [INFO] [stderr] 45 | const INITIAL_CWND: u32 = 10; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `BbrState` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:49:10 [INFO] [stderr] | [INFO] [stderr] 49 | pub enum BbrState { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MaxFilter` is never constructed [INFO] [stderr] --> src/net/fast/bbr.rs:62:8 [INFO] [stderr] | [INFO] [stderr] 62 | struct MaxFilter { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `update`, `get`, and `reset` are never used [INFO] [stderr] --> src/net/fast/bbr.rs:68:8 [INFO] [stderr] | [INFO] [stderr] 67 | impl MaxFilter { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 68 | fn new(window_len: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 76 | fn update(&mut self, value: u64, now: Instant) -> u64 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 97 | fn get(&self) -> u64 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 101 | fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MinFilter` is never constructed [INFO] [stderr] --> src/net/fast/bbr.rs:108:8 [INFO] [stderr] | [INFO] [stderr] 108 | struct MinFilter { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `update`, `get`, and `expired` are never used [INFO] [stderr] --> src/net/fast/bbr.rs:115:8 [INFO] [stderr] | [INFO] [stderr] 114 | impl MinFilter { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 115 | fn new(window: Duration) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | fn update(&mut self, rtt: Duration, now: Instant) -> Duration { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 137 | fn get(&self) -> Duration { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 141 | fn expired(&self, now: Instant) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `BbrCongestionControl` is never constructed [INFO] [stderr] --> src/net/fast/bbr.rs:148:12 [INFO] [stderr] | [INFO] [stderr] 148 | pub struct BbrCongestionControl { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/net/fast/bbr.rs:198:12 [INFO] [stderr] | [INFO] [stderr] 196 | impl BbrCongestionControl { [INFO] [stderr] | ------------------------- associated items in this implementation [INFO] [stderr] 197 | /// Create new BBR congestion control. [INFO] [stderr] 198 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 239 | pub fn on_send(&mut self, _bytes: usize) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 248 | pub fn on_ack(&mut self, bytes_acked: usize, rtt: Duration) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 288 | pub fn on_loss(&mut self, _bytes_lost: usize) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 297 | pub fn on_timeout(&mut self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 306 | pub fn available_window(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 312 | pub fn cwnd(&self) -> u32 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 318 | pub fn pacing_rate(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 324 | pub fn bandwidth(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 330 | pub fn min_rtt(&self) -> Duration { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 336 | pub fn state(&self) -> BbrState { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 342 | pub fn pacing_interval(&self) -> Duration { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 353 | fn calculate_delivery_rate(&self, now: Instant) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 365 | fn update_round(&mut self, _now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 375 | fn check_full_pipe(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 397 | fn update_startup(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 403 | fn enter_drain(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 410 | fn update_drain(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 418 | fn enter_probe_bw(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 426 | fn update_probe_bw(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 441 | fn enter_probe_rtt(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 455 | fn update_probe_rtt(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 475 | fn restore_after_probe_rtt(&mut self, now: Instant) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 485 | fn update_pacing_rate(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 495 | fn update_cwnd(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 511 | fn bdp(&self) -> u64 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_GROUP_SIZE` is never used [INFO] [stderr] --> src/net/fast/fec.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | pub const DEFAULT_GROUP_SIZE: u8 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: methods `current_index` and `current_group` are never used [INFO] [stderr] --> src/net/fast/fec.rs:203:12 [INFO] [stderr] | [INFO] [stderr] 121 | impl FecEncoder { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 203 | pub fn current_index(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 209 | pub fn current_group(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `group_size` is never read [INFO] [stderr] --> src/net/fast/fec.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 264 | pub struct FecDecoder { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 265 | group_size: u8, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `clear` is never used [INFO] [stderr] --> src/net/fast/fec.rs:366:12 [INFO] [stderr] | [INFO] [stderr] 272 | impl FecDecoder { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 366 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `sequence` and `reset` are never used [INFO] [stderr] --> src/net/fast/delta.rs:246:12 [INFO] [stderr] | [INFO] [stderr] 110 | impl DeltaEncoder { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 246 | pub fn sequence(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 251 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `last_seq` is never used [INFO] [stderr] --> src/net/fast/delta.rs:329:12 [INFO] [stderr] | [INFO] [stderr] 267 | impl DeltaDecoder { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 329 | pub fn last_seq(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `from_u8` and `suggested_channel` are never used [INFO] [stderr] --> src/net/fast/priority.rs:51:12 [INFO] [stderr] | [INFO] [stderr] 46 | impl Priority { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 51 | pub fn from_u8(v: u8) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | pub fn suggested_channel(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `peer_id` and `channel` are never read [INFO] [stderr] --> src/net/fast/priority.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 80 | pub struct QueuedPacket { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 81 | pub peer_id: u16, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 82 | pub channel: u8, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `QueuedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `peek`, `is_empty`, `total_size`, `count_at`, and `clear` are never used [INFO] [stderr] --> src/net/fast/priority.rs:153:12 [INFO] [stderr] | [INFO] [stderr] 97 | impl PriorityQueue { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 153 | pub fn peek(&self) -> Option<&QueuedPacket> { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 164 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 176 | pub fn total_size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 182 | pub fn count_at(&self, priority: Priority) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 198 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `is_empty` is never used [INFO] [stderr] --> src/net/fast/priority.rs:298:12 [INFO] [stderr] | [INFO] [stderr] 249 | impl WeightedQueue { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 298 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `data` is never read [INFO] [stderr] --> src/net/fast/jitter.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 43 | pub struct BufferedPacket { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 49 | pub data: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BufferedPacket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `with_bounds`, `current_delay`, and `reset` are never used [INFO] [stderr] --> src/net/fast/jitter.rs:124:12 [INFO] [stderr] | [INFO] [stderr] 103 | impl JitterBuffer { [INFO] [stderr] | ----------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 124 | pub fn with_bounds(target: Duration, min: Duration, max: Duration) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 235 | pub fn current_delay(&self) -> Duration { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 246 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `rtt_min_us`, `rtt_max_us`, `jitter_us`, `packets_received`, `retransmissions`, and `uptime` are never read [INFO] [stderr] --> src/net/fast/metrics.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 105 | pub struct MetricsSnapshot { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 109 | pub rtt_min_us: u32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 110 | /// Maximum RTT in microseconds. [INFO] [stderr] 111 | pub rtt_max_us: u32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 112 | /// Jitter (RTT variance) in microseconds. [INFO] [stderr] 113 | pub jitter_us: u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 121 | pub packets_received: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | pub retransmissions: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 133 | pub uptime: Duration, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `MetricsSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `record_retransmission`, `rtt_avg`, `send_rate`, `recv_rate`, and `reset` are never used [INFO] [stderr] --> src/net/fast/metrics.rs:237:12 [INFO] [stderr] | [INFO] [stderr] 173 | impl ConnectionMetrics { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 237 | pub fn record_retransmission(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 243 | pub fn rtt_avg(&self) -> Duration { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 265 | pub fn send_rate(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 271 | pub fn recv_rate(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 311 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `used_ticket_count` is never used [INFO] [stderr] --> src/net/fast/reconnect.rs:278:12 [INFO] [stderr] | [INFO] [stderr] 110 | impl SessionStore { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 278 | pub fn used_ticket_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `clear` is never used [INFO] [stderr] --> src/net/fast/reconnect.rs:338:12 [INFO] [stderr] | [INFO] [stderr] 304 | impl ClientTicketStore { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 338 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `cell_size` is never read [INFO] [stderr] --> src/net/fast/interest.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub struct InterestGrid { [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] 73 | /// Cell size in world units. [INFO] [stderr] 74 | cell_size: f32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `len`, `is_empty`, and `clear` are never used [INFO] [stderr] --> src/net/fast/interest.rs:210:12 [INFO] [stderr] | [INFO] [stderr] 85 | impl InterestGrid { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 210 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 216 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 221 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `visible` and `clear` are never used [INFO] [stderr] --> src/net/fast/interest.rs:281:12 [INFO] [stderr] | [INFO] [stderr] 247 | impl PlayerInterest { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 281 | pub fn visible(&self) -> &HashSet { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `from_bytes` is never used [INFO] [stderr] --> src/net/fast/migration.rs:54:12 [INFO] [stderr] | [INFO] [stderr] 45 | impl ConnectionId { [INFO] [stderr] | ----------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 54 | pub fn from_bytes(bytes: [u8; 16]) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `connection_timeout` is never read [INFO] [stderr] --> src/net/fast/migration.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 194 | pub struct MigrationManager { [INFO] [stderr] | ---------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 204 | connection_timeout: Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `with_proof_age`, `remove`, `get_cid`, `touch`, `cleanup`, and `connection_count` are never used [INFO] [stderr] --> src/net/fast/migration.rs:226:12 [INFO] [stderr] | [INFO] [stderr] 207 | impl MigrationManager { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 226 | pub fn with_proof_age(mut self, max_secs: u64) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 253 | pub fn remove(&mut self, cid: &ConnectionId) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 261 | pub fn get_cid(&self, addr: &SocketAddr) -> Option { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 330 | pub fn touch(&mut self, cid: &ConnectionId) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 337 | pub fn cleanup(&mut self) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 352 | pub fn connection_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `server_addr` is never read [INFO] [stderr] --> src/net/fast/migration.rs:370:5 [INFO] [stderr] | [INFO] [stderr] 364 | pub struct ClientMigration { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 370 | server_addr: SocketAddr, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `connection_id` and `server_addr` are never used [INFO] [stderr] --> src/net/fast/migration.rs:411:12 [INFO] [stderr] | [INFO] [stderr] 375 | impl ClientMigration { [INFO] [stderr] | -------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 411 | pub fn connection_id(&self) -> ConnectionId { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 417 | pub fn server_addr(&self) -> SocketAddr { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `reset` is never used [INFO] [stderr] --> src/net/fast/bbr.rs:101:8 [INFO] [stderr] | [INFO] [stderr] 67 | impl MaxFilter { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 101 | fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `delivered_time` is never read [INFO] [stderr] --> src/net/fast/bbr.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 148 | pub struct BbrCongestionControl { [INFO] [stderr] | -------------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 172 | delivered_time: Instant, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BbrCongestionControl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `on_timeout`, `cwnd`, `pacing_rate`, `bandwidth`, and `state` are never used [INFO] [stderr] --> src/net/fast/bbr.rs:297:12 [INFO] [stderr] | [INFO] [stderr] 196 | impl BbrCongestionControl { [INFO] [stderr] | ------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 297 | pub fn on_timeout(&mut self) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 312 | pub fn cwnd(&self) -> u32 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 318 | pub fn pacing_rate(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 324 | pub fn bandwidth(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 336 | pub fn state(&self) -> BbrState { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `fastnet` (lib) generated 92 warnings [INFO] [stderr] warning: `fastnet` (lib test) generated 27 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fastnet-51f653221949ab49) [INFO] [stdout] [INFO] [stdout] running 59 tests [INFO] [stdout] test net::fast::bbr::tests::test_bbr_available_window ... ok [INFO] [stdout] test net::fast::bbr::tests::test_bbr_creation ... ok [INFO] [stdout] test net::fast::bbr::tests::test_bbr_startup_to_drain ... ok [INFO] [stdout] test net::fast::channel::tests::test_reliable_ordered ... ok [INFO] [stdout] test net::fast::channel::tests::test_unreliable_channel ... ok [INFO] [stdout] test net::fast::channel::tests::test_sequence_comparison ... ok [INFO] [stdout] test net::fast::delta::tests::test_delta_full_state_fallback ... ok [INFO] [stdout] test net::fast::delta::tests::test_delta_header_roundtrip ... ok [INFO] [stdout] test net::fast::delta::tests::test_delta_multiple_changes ... ok [INFO] [stdout] test net::fast::delta::tests::test_delta_no_changes ... ok [INFO] [stdout] test net::fast::delta::tests::test_delta_single_byte_change ... ok [INFO] [stdout] test net::fast::fec::tests::test_fec_multiple_groups ... ok [INFO] [stdout] test net::fast::fec::tests::test_fec_no_loss ... ok [INFO] [stdout] test net::fast::delta::tests::test_delta_game_state_simulation ... ok [INFO] [stdout] test net::fast::interest::tests::test_grid_insert_query ... ok [INFO] [stdout] test net::fast::interest::tests::test_grid_remove ... ok [INFO] [stdout] test net::fast::interest::tests::test_player_interest ... ok [INFO] [stdout] test net::fast::fec::tests::test_fec_header_roundtrip ... ok [INFO] [stdout] test net::fast::jitter::tests::test_jitter_buffer_basic ... ok [INFO] [stdout] test net::fast::metrics::tests::test_aggregate_metrics ... ok [INFO] [stdout] test net::fast::metrics::tests::test_connection_metrics ... ok [INFO] [stdout] test net::fast::interest::tests::test_priority_calculator ... ok [INFO] [stdout] test net::fast::bbr::tests::test_pacing_interval ... ok [INFO] [stdout] test net::fast::bbr::tests::test_bbr_pacing_rate ... ok [INFO] [stdout] test net::fast::fec::tests::test_fec_single_loss_recovery ... ok [INFO] [stdout] test net::fast::jitter::tests::test_jitter_stats ... ok [INFO] [stdout] test net::fast::interest::tests::test_query_radius ... ok [INFO] [stdout] test net::fast::metrics::tests::test_jitter_calculation ... ok [INFO] [stdout] test net::fast::bbr::tests::test_bbr_loss_handling ... ok [INFO] [stdout] test net::fast::interest::tests::test_grid_move_entity ... ok [INFO] [stdout] test net::fast::migration::tests::test_client_migration ... ok [INFO] [stdout] test net::fast::migration::tests::test_migration_manager ... ok [INFO] [stdout] test net::fast::packet::tests::test_header_roundtrip ... ok [INFO] [stdout] test net::fast::peer::tests::test_congestion_control ... ok [INFO] [stdout] test net::fast::migration::tests::test_migration_proof ... ok [INFO] [stdout] test net::fast::migration::tests::test_proof_serialization ... ok [INFO] [stdout] test net::fast::priority::tests::test_drop_below ... ok [INFO] [stdout] test net::fast::peer::tests::test_peer_creation ... ok [INFO] [stdout] test net::fast::peer::tests::test_rtt_estimation ... ok [INFO] [stdout] test net::fast::migration::tests::test_migration_rate_limit ... ok [INFO] [stdout] test net::fast::metrics::tests::test_sliding_window ... ok [INFO] [stdout] test net::fast::bbr::tests::test_bbr_min_rtt ... ok [INFO] [stdout] test net::fast::packet::tests::test_fragmentation ... ok [INFO] [stdout] test net::fast::priority::tests::test_same_priority_fifo ... ok [INFO] [stdout] test net::fast::priority::tests::test_priority_ordering ... ok [INFO] [stdout] test net::fast::priority::tests::test_weighted_queue ... ok [INFO] [stdout] test net::fast::reconnect::tests::test_constant_time_eq ... ok [INFO] [stdout] test net::fast::reconnect::tests::test_ticket_replay_protection ... ok [INFO] [stdout] test net::fast::reconnect::tests::test_client_store ... ok [INFO] [stdout] test net::fast::reconnect::tests::test_ticket_roundtrip ... ok [INFO] [stdout] test net::fast::migration::tests::test_connection_id ... ok [INFO] [stdout] test net::fast::reconnect::tests::test_ticket_tampering ... ok [INFO] [stdout] test net::fast::tuning::tests::test_default_config ... ok [INFO] [stdout] test net::fast::priority::tests::test_critical_bypass_capacity ... ok [INFO] [stdout] test net::fast::priority::tests::test_drain_budget ... ok [INFO] [stdout] test net::fast::jitter::tests::test_jitter_buffer_duplicate ... ok [INFO] [stdout] test net::fast::jitter::tests::test_jitter_buffer_ordering ... ok [INFO] [stdout] test net::fast::tuning::tests::test_low_latency_config ... ok [INFO] [stdout] test net::fast::reconnect::tests::test_ticket_expiry ... ok [INFO] [stderr] Running tests/secure_socket_integration.rs (/opt/rustwide/target/debug/deps/secure_socket_integration-2d6e23a1d5c0bb77) [INFO] [stdout] [INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_requires_dev_certs_feature ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests fastnet [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test src/net/fast/delta.rs - net::fast::delta (line 15) ... ignored [INFO] [stdout] test src/net/fast/fec.rs - net::fast::fec (line 14) ... ignored [INFO] [stdout] test src/net/fast/interest.rs - net::fast::interest (line 21) ... ignored [INFO] [stdout] test src/net/fast/jitter.rs - net::fast::jitter (line 16) ... ignored [INFO] [stdout] test src/net/fast/metrics.rs - net::fast::metrics (line 15) ... ignored [INFO] [stdout] test src/net/fast/migration.rs - net::fast::migration (line 22) ... ignored [INFO] [stdout] test src/net/fast/priority.rs - net::fast::priority (line 15) ... ignored [INFO] [stdout] test src/net/fast/reconnect.rs - net::fast::reconnect (line 23) ... ignored [INFO] [stdout] test src/net/fast/secure.rs - net::fast::secure::SecureSocket::local_udp_addr (line 404) - compile ... ok [INFO] [stdout] test src/p2p/mod.rs - p2p (line 41) - compile ... FAILED [INFO] [stdout] test src/assets/mod.rs - assets (line 36) - compile ... ok [INFO] [stdout] test src/net/fast/secure.rs - net::fast::secure::SecureEvent (line 54) - compile ... ok [INFO] [stdout] test src/net/fast/secure.rs - net::fast::secure::SecureSocket::send (line 488) - compile ... FAILED [INFO] [stdout] test src/assets/mod.rs - assets (line 56) - compile ... FAILED [INFO] [stdout] test src/net/fast/secure.rs - net::fast::secure::SecureSocket::disconnect (line 775) - compile ... FAILED [INFO] [stdout] test src/lib.rs - (line 24) - compile ... ok [INFO] [stdout] test src/net/fast/secure.rs - net::fast::secure::SecureSocket::poll (line 551) - compile ... FAILED [INFO] [stdout] test src/tcp/mod.rs - tcp (line 27) - compile ... ok [INFO] [stdout] test src/p2p/mod.rs - p2p::P2PSocket::connect (line 251) - compile ... ok [INFO] [stdout] test src/net/fast/secure.rs - net::fast::secure::SecureSocket (line 243) - compile ... FAILED [INFO] [stdout] test src/lib.rs - (line 60) - compile ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/p2p/mod.rs - p2p (line 41) stdout ---- [INFO] [stdout] error[E0004]: non-exhaustive patterns: `P2PEvent::PeerRelayed(_)` and `P2PEvent::Error(_, _)` not covered [INFO] [stdout] --> src/p2p/mod.rs:55:19 [INFO] [stdout] | [INFO] [stdout] 55 | match event { [INFO] [stdout] | ^^^^^ patterns `P2PEvent::PeerRelayed(_)` and `P2PEvent::Error(_, _)` not covered [INFO] [stdout] | [INFO] [stdout] note: `P2PEvent` defined here [INFO] [stdout] --> src/p2p/mod.rs:93:1 [INFO] [stdout] | [INFO] [stdout] 93 | pub enum P2PEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | PeerRelayed(PeerId), [INFO] [stdout] | ----------- not covered [INFO] [stdout] ... [INFO] [stdout] 110 | Error(PeerId, P2PError), [INFO] [stdout] | ----- not covered [INFO] [stdout] = note: the matched value is of type `P2PEvent` [INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms [INFO] [stdout] | [INFO] [stdout] 67 ~ }, [INFO] [stdout] 68 + P2PEvent::PeerRelayed(_) | P2PEvent::Error(_, _) => todo!() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0004`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/net/fast/secure.rs - net::fast::secure::SecureSocket::send (line 488) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `position_bytes` in this scope [INFO] [stdout] --> src/net/fast/secure.rs:496:25 [INFO] [stdout] | [INFO] [stdout] 496 | socket.send(peer_id, 1, position_bytes).await.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/assets/mod.rs - assets (line 56) stdout ---- [INFO] [stdout] error[E0599]: no method named `request` found for struct `AssetClient` in the current scope [INFO] [stdout] --> src/assets/mod.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | client.request("map_forest.pak", "/local/maps/forest.pak").await?; [INFO] [stdout] | ^^^^^^^ method not found in `AssetClient` [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `poll` found for struct `AssetClient` in the current scope [INFO] [stdout] --> src/assets/mod.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 69 | for event in client.poll().await? { [INFO] [stdout] | ^^^^ method not found in `AssetClient` [INFO] [stdout] [INFO] [stdout] error[E0277]: `PathBuf` doesn't implement `std::fmt::Display` [INFO] [stdout] --> src/assets/mod.rs:76:48 [INFO] [stdout] | [INFO] [stdout] 76 | println!("Downloaded: {}", path); [INFO] [stdout] | -- ^^^^ `PathBuf` cannot be formatted with the default formatter; call `.display()` on it [INFO] [stdout] | | [INFO] [stdout] | required by this formatting parameter [INFO] [stdout] | [INFO] [stdout] = help: the trait `std::fmt::Display` is not implemented for `PathBuf` [INFO] [stdout] = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead [INFO] [stdout] = note: call `.display()` or `.to_string_lossy()` to safely print paths, as they may contain non-Unicode data [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/net/fast/secure.rs - net::fast::secure::SecureSocket::disconnect (line 775) stdout ---- [INFO] [stdout] error[E0599]: no method named `unwrap` found for opaque type `impl Future>` in the current scope [INFO] [stdout] --> src/net/fast/secure.rs:779:28 [INFO] [stdout] | [INFO] [stdout] 779 | socket.disconnect(peer_id).unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `impl Future>` [INFO] [stdout] | [INFO] [stdout] help: consider `await`ing on the `Future` and calling the method on its `Output` [INFO] [stdout] | [INFO] [stdout] 779 | socket.disconnect(peer_id).await.unwrap(); [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/net/fast/secure.rs - net::fast::secure::SecureSocket::poll (line 551) stdout ---- [INFO] [stdout] error[E0277]: the `?` operator can only be used in an async function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/net/fast/secure.rs:555:33 [INFO] [stdout] | [INFO] [stdout] 554 | async fn example(socket: &mut SecureSocket) { [INFO] [stdout] | _____________________________________________- [INFO] [stdout] 555 | | for event in socket.poll().await? { [INFO] [stdout] | | ^ cannot use the `?` operator in an async function that returns `()` [INFO] [stdout] 556 | | match event { [INFO] [stdout] 557 | | SecureEvent::Connected(peer_id) => { [INFO] [stdout] ... | [INFO] [stdout] 568 | | Ok::<(), std::io::Error>(()) [INFO] [stdout] 569 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/net/fast/secure.rs:568:1 [INFO] [stdout] | [INFO] [stdout] 554 | async fn example(socket: &mut SecureSocket) { [INFO] [stdout] | - help: try adding a return type: `-> Result<(), std::io::Error>` [INFO] [stdout] ... [INFO] [stdout] 568 | Ok::<(), std::io::Error>(()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Result<(), Error>` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Result<(), std::io::Error>` [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/net/fast/secure.rs - net::fast::secure::SecureSocket (line 243) stdout ---- [INFO] [stdout] error[E0425]: cannot find value `certs` in this scope [INFO] [stdout] --> src/net/fast/secure.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | certs, [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 242 + use rustls_pemfile::certs; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `key` in this scope [INFO] [stdout] --> src/net/fast/secure.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | key, [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/assets/mod.rs - assets (line 56) [INFO] [stdout] src/net/fast/secure.rs - net::fast::secure::SecureSocket (line 243) [INFO] [stdout] src/net/fast/secure.rs - net::fast::secure::SecureSocket::disconnect (line 775) [INFO] [stdout] src/net/fast/secure.rs - net::fast::secure::SecureSocket::poll (line 551) [INFO] [stdout] src/net/fast/secure.rs - net::fast::secure::SecureSocket::send (line 488) [INFO] [stdout] src/p2p/mod.rs - p2p (line 41) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 7 passed; 6 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.55s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "8eb16e4d79ab37fc168655826b8699ae3d8f587c55ec24e9b1fe0f9bd12a1dee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8eb16e4d79ab37fc168655826b8699ae3d8f587c55ec24e9b1fe0f9bd12a1dee", kill_on_drop: false }` [INFO] [stdout] 8eb16e4d79ab37fc168655826b8699ae3d8f587c55ec24e9b1fe0f9bd12a1dee