[INFO] cloning repository https://github.com/conwayste/netwayste [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/conwayste/netwayste" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconwayste%2Fnetwayste", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconwayste%2Fnetwayste'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 986b6eb3f09744651524a628ec74dbb47d7063f1 [INFO] testing conwayste/netwayste against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fconwayste%2Fnetwayste" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/conwayste/netwayste [INFO] finished tweaking git repo https://github.com/conwayste/netwayste [INFO] tweaked toml for git repo https://github.com/conwayste/netwayste written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/conwayste/netwayste on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 175 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.10.1 (available: v0.22.1) [INFO] [stderr] Adding bincode v0.9.2 (available: v2.0.1) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.47) [INFO] [stderr] Adding color-backtrace v0.1.3 (available: v0.7.1) [INFO] [stderr] Adding env_logger v0.6.2 (available: v0.11.8) [INFO] [stderr] Adding futures v0.1.31 (available: v0.3.31) [INFO] [stderr] Adding proptest v0.7.2 (available: v1.7.0) [INFO] [stderr] Adding rand v0.6.5 (available: v0.9.2) [INFO] [stderr] Adding semver v0.9.0 (available: v1.0.26) [INFO] [stderr] Adding time v0.1.45 (available: v0.3.43) [INFO] [stderr] Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded color-backtrace v0.1.3 [INFO] [stderr] Downloaded tokio-dns-unofficial v0.4.0 [INFO] [stderr] Downloaded bincode v0.9.2 [INFO] [stderr] Downloaded rusty-fork v0.2.2 [INFO] [stderr] Downloaded tokio-core v0.1.18 [INFO] [stderr] Downloaded proptest v0.7.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2558a7eb72b5cf02b931544588fb56be733d6a0acd53218c7232ae66b2dd1c5a [INFO] running `Command { std: "docker" "start" "-a" "2558a7eb72b5cf02b931544588fb56be733d6a0acd53218c7232ae66b2dd1c5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2558a7eb72b5cf02b931544588fb56be733d6a0acd53218c7232ae66b2dd1c5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2558a7eb72b5cf02b931544588fb56be733d6a0acd53218c7232ae66b2dd1c5a", kill_on_drop: false }` [INFO] [stdout] 2558a7eb72b5cf02b931544588fb56be733d6a0acd53218c7232ae66b2dd1c5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 733d0efa292b19fbc8138204d2b8d0b3b128fcfd2f6762d996d3b0fc9390a791 [INFO] running `Command { std: "docker" "start" "-a" "733d0efa292b19fbc8138204d2b8d0b3b128fcfd2f6762d996d3b0fc9390a791", kill_on_drop: false }` [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Compiling memoffset v0.5.6 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling net2 v0.2.39 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling bytes v0.4.12 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling dirs v1.0.5 [INFO] [stderr] Compiling parking_lot_core v0.6.3 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling tokio-io v0.1.13 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling rustc-demangle v0.1.26 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling term v0.5.2 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling tokio-executor v0.1.10 [INFO] [stderr] Compiling tokio-codec v0.1.2 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling mio-uds v0.6.8 [INFO] [stderr] Compiling tokio-timer v0.2.13 [INFO] [stderr] Compiling tokio-current-thread v0.1.7 [INFO] [stderr] Compiling futures-cpupool v0.1.8 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling tokio-reactor v0.1.12 [INFO] [stderr] Compiling crossbeam-deque v0.7.4 [INFO] [stderr] Compiling regex-syntax v0.4.2 [INFO] [stderr] Compiling scoped-tls v0.1.2 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling time v0.1.45 [INFO] [stderr] Compiling tokio-threadpool v0.1.18 [INFO] [stderr] Compiling tokio-uds v0.2.7 [INFO] [stderr] Compiling tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio-udp v0.1.6 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling tokio-fs v0.1.7 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling tokio v0.1.22 [INFO] [stderr] Compiling tokio-dns-unofficial v0.4.0 [INFO] [stderr] Compiling tokio-core v0.1.18 [INFO] [stderr] Compiling rusty-fork v0.2.2 [INFO] [stderr] Compiling proptest v0.7.2 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling color-backtrace v0.1.3 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling bincode v0.9.2 [INFO] [stderr] Compiling netwayste v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/client.rs:291:60 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:619:127 [INFO] [stdout] | [INFO] [stdout] 619 | pub fn process_player_request_action(&mut self, player_id: PlayerID, action: RequestAction) -> Result, Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 619 | pub fn process_player_request_action(&mut self, player_id: PlayerID, action: RequestAction) -> Result, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:811:101 [INFO] [stdout] | [INFO] [stdout] 811 | pub fn decode_packet(&mut self, addr: SocketAddr, packet: Packet) -> Result, Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 811 | pub fn decode_packet(&mut self, addr: SocketAddr, packet: Packet) -> Result, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:976:97 [INFO] [stdout] | [INFO] [stdout] 976 | pub fn construct_client_updates(&mut self) -> Result>, Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 976 | pub fn construct_client_updates(&mut self) -> Result>, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MATCH_FOUND_SENTINEL` is never used [INFO] [stdout] --> src/net.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const MATCH_FOUND_SENTINEL: usize = 110; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/net.rs:71:20 [INFO] [stdout] | [INFO] [stdout] 71 | AddrParseError(net::AddrParseError), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `NetError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 71 - AddrParseError(net::AddrParseError), [INFO] [stdout] 71 + AddrParseError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/net.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | IoError(io::Error), [INFO] [stdout] | ------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `NetError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 72 - IoError(io::Error), [INFO] [stdout] 72 + IoError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/net.rs:438:8 [INFO] [stdout] | [INFO] [stdout] 435 | pub trait NetworkQueue { [INFO] [stdout] | ------------ methods in this trait [INFO] [stdout] ... [INFO] [stdout] 438 | fn head_of_queue(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | fn tail_of_queue(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 446 | fn newest_seq_num(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | fn oldest_seq_num(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 464 | fn push_back(&mut self, item: T) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | fn push_front(&mut self, item: T) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | fn insert(&mut self, index: usize, item: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | fn is_seq_sufficiently_far_away(&self, a: u64, b: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | fn will_seq_cause_a_wrap(&self, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 509 | fn remove(&mut self, pkt: &T) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 510 | [INFO] [stdout] 511 | fn discard_older_items(&mut self); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 512 | fn buffer_item(&mut self, item: T) -> bool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `find_rx_insertion_index`, `find_rx_insertion_index_in_subset`, and `insert_into_rx_queue` are never used [INFO] [stdout] --> src/net.rs:745:8 [INFO] [stdout] | [INFO] [stdout] 739 | impl NetQueue where T: Sequenced+Debug+Clone { [INFO] [stdout] | -------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 745 | fn find_rx_insertion_index(&self, item: &T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 779 | fn find_rx_insertion_index_in_subset(&self, start: usize, end: usize, item: &T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 792 | fn insert_into_rx_queue(&mut self, index: Option, item: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.31s [INFO] running `Command { std: "docker" "inspect" "733d0efa292b19fbc8138204d2b8d0b3b128fcfd2f6762d996d3b0fc9390a791", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "733d0efa292b19fbc8138204d2b8d0b3b128fcfd2f6762d996d3b0fc9390a791", kill_on_drop: false }` [INFO] [stdout] 733d0efa292b19fbc8138204d2b8d0b3b128fcfd2f6762d996d3b0fc9390a791 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 961b70db8543243561f504a4af766b075b1e665df061c715efcd2341c93edf4e [INFO] running `Command { std: "docker" "start" "-a" "961b70db8543243561f504a4af766b075b1e665df061c715efcd2341c93edf4e", kill_on_drop: false }` [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/client.rs:291:60 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling netwayste v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Packet`, `RequestAction`, and `ResponseCode` [INFO] [stdout] --> examples/cli-client.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 40 | net::{NetwaysteEvent, RequestAction, Packet, ResponseCode}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/client.rs:291:60 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[should_panic]` attribute cannot be used on macro calls [INFO] [stdout] --> src/server.rs:1471:13 [INFO] [stdout] | [INFO] [stdout] 1471 | #[should_panic] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[should_panic]` can only be applied to functions [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `should_panic` [INFO] [stdout] --> src/server.rs:2552:19 [INFO] [stdout] | [INFO] [stdout] 2552 | #[cfg(not(should_panic))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(should_panic)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(should_panic)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:619:127 [INFO] [stdout] | [INFO] [stdout] 619 | pub fn process_player_request_action(&mut self, player_id: PlayerID, action: RequestAction) -> Result, Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 619 | pub fn process_player_request_action(&mut self, player_id: PlayerID, action: RequestAction) -> Result, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:811:101 [INFO] [stdout] | [INFO] [stdout] 811 | pub fn decode_packet(&mut self, addr: SocketAddr, packet: Packet) -> Result, Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 811 | pub fn decode_packet(&mut self, addr: SocketAddr, packet: Packet) -> Result, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/server.rs:976:97 [INFO] [stdout] | [INFO] [stdout] 976 | pub fn construct_client_updates(&mut self) -> Result>, Box> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 976 | pub fn construct_client_updates(&mut self) -> Result>, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MATCH_FOUND_SENTINEL` is never used [INFO] [stdout] --> src/net.rs:47:7 [INFO] [stdout] | [INFO] [stdout] 47 | const MATCH_FOUND_SENTINEL: usize = 110; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/net.rs:71:20 [INFO] [stdout] | [INFO] [stdout] 71 | AddrParseError(net::AddrParseError), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `NetError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 71 - AddrParseError(net::AddrParseError), [INFO] [stdout] 71 + AddrParseError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/net.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | IoError(io::Error), [INFO] [stdout] | ------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `NetError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 72 - IoError(io::Error), [INFO] [stdout] 72 + IoError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/net.rs:438:8 [INFO] [stdout] | [INFO] [stdout] 435 | pub trait NetworkQueue { [INFO] [stdout] | ------------ methods in this trait [INFO] [stdout] ... [INFO] [stdout] 438 | fn head_of_queue(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | fn tail_of_queue(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 446 | fn newest_seq_num(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | fn oldest_seq_num(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 464 | fn push_back(&mut self, item: T) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | fn push_front(&mut self, item: T) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | fn insert(&mut self, index: usize, item: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | fn is_seq_sufficiently_far_away(&self, a: u64, b: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | fn will_seq_cause_a_wrap(&self, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 509 | fn remove(&mut self, pkt: &T) -> Option; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 510 | [INFO] [stdout] 511 | fn discard_older_items(&mut self); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 512 | fn buffer_item(&mut self, item: T) -> bool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `find_rx_insertion_index`, `find_rx_insertion_index_in_subset`, and `insert_into_rx_queue` are never used [INFO] [stdout] --> src/net.rs:745:8 [INFO] [stdout] | [INFO] [stdout] 739 | impl NetQueue where T: Sequenced+Debug+Clone { [INFO] [stdout] | -------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 745 | fn find_rx_insertion_index(&self, item: &T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 779 | fn find_rx_insertion_index_in_subset(&self, start: usize, end: usize, item: &T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 792 | fn insert_into_rx_queue(&mut self, index: Option, item: T) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `clone` that must be used [INFO] [stdout] --> src/server.rs:2242:13 [INFO] [stdout] | [INFO] [stdout] 2242 | player.cookie.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: cloning is often expensive and is not expected to have side effects [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 2242 | let _ = player.cookie.clone(); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.14s [INFO] running `Command { std: "docker" "inspect" "961b70db8543243561f504a4af766b075b1e665df061c715efcd2341c93edf4e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "961b70db8543243561f504a4af766b075b1e665df061c715efcd2341c93edf4e", kill_on_drop: false }` [INFO] [stdout] 961b70db8543243561f504a4af766b075b1e665df061c715efcd2341c93edf4e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 74973c436db9780356a12bfdafbcf86b58bd70a0a745a73c442f937ad786d7c4 [INFO] running `Command { std: "docker" "start" "-a" "74973c436db9780356a12bfdafbcf86b58bd70a0a745a73c442f937ad786d7c4", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/client.rs:291:60 [INFO] [stderr] | [INFO] [stderr] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 291 | pub fn handle_response_ok(&mut self) -> Result<(), Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `netwayste` (lib) generated 1 warning (run `cargo fix --lib -p netwayste` to apply 1 suggestion) [INFO] [stderr] warning: `netwayste` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] warning: `#[should_panic]` attribute cannot be used on macro calls [INFO] [stderr] --> src/server.rs:1471:13 [INFO] [stderr] | [INFO] [stderr] 1471 | #[should_panic] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = help: `#[should_panic]` can only be applied to functions [INFO] [stderr] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition name: `should_panic` [INFO] [stderr] --> src/server.rs:2552:19 [INFO] [stderr] | [INFO] [stderr] 2552 | #[cfg(not(should_panic))] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stderr] = help: consider using a Cargo feature instead [INFO] [stderr] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stderr] [lints.rust] [INFO] [stderr] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(should_panic)'] } [INFO] [stderr] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(should_panic)");` to the top of the `build.rs` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/server.rs:619:127 [INFO] [stderr] | [INFO] [stderr] 619 | pub fn process_player_request_action(&mut self, player_id: PlayerID, action: RequestAction) -> Result, Box> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 619 | pub fn process_player_request_action(&mut self, player_id: PlayerID, action: RequestAction) -> Result, Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/server.rs:811:101 [INFO] [stderr] | [INFO] [stderr] 811 | pub fn decode_packet(&mut self, addr: SocketAddr, packet: Packet) -> Result, Box> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 811 | pub fn decode_packet(&mut self, addr: SocketAddr, packet: Packet) -> Result, Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/server.rs:976:97 [INFO] [stderr] | [INFO] [stderr] 976 | pub fn construct_client_updates(&mut self) -> Result>, Box> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 976 | pub fn construct_client_updates(&mut self) -> Result>, Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: constant `MATCH_FOUND_SENTINEL` is never used [INFO] [stderr] --> src/net.rs:47:7 [INFO] [stderr] | [INFO] [stderr] 47 | const MATCH_FOUND_SENTINEL: usize = 110; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/net.rs:71:20 [INFO] [stderr] | [INFO] [stderr] 71 | AddrParseError(net::AddrParseError), [INFO] [stderr] | -------------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `NetError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 71 - AddrParseError(net::AddrParseError), [INFO] [stderr] 71 + AddrParseError(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/net.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | IoError(io::Error), [INFO] [stderr] | ------- ^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `NetError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 72 - IoError(io::Error), [INFO] [stderr] 72 + IoError(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/net.rs:438:8 [INFO] [stderr] | [INFO] [stderr] 435 | pub trait NetworkQueue { [INFO] [stderr] | ------------ methods in this trait [INFO] [stderr] ... [INFO] [stderr] 438 | fn head_of_queue(&self) -> Option<&T> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 442 | fn tail_of_queue(&self) -> Option<&T> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 446 | fn newest_seq_num(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 455 | fn oldest_seq_num(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 464 | fn push_back(&mut self, item: T) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 468 | fn push_front(&mut self, item: T) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 476 | fn insert(&mut self, index: usize, item: T) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 481 | fn is_seq_sufficiently_far_away(&self, a: u64, b: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 492 | fn will_seq_cause_a_wrap(&self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 509 | fn remove(&mut self, pkt: &T) -> Option; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 510 | [INFO] [stderr] 511 | fn discard_older_items(&mut self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 512 | fn buffer_item(&mut self, item: T) -> bool; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `find_rx_insertion_index`, `find_rx_insertion_index_in_subset`, and `insert_into_rx_queue` are never used [INFO] [stderr] --> src/net.rs:745:8 [INFO] [stderr] | [INFO] [stderr] 739 | impl NetQueue where T: Sequenced+Debug+Clone { [INFO] [stderr] | -------------------------------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 745 | fn find_rx_insertion_index(&self, item: &T) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 779 | fn find_rx_insertion_index_in_subset(&self, start: usize, end: usize, item: &T) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 792 | fn insert_into_rx_queue(&mut self, index: Option, item: T) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `clone` that must be used [INFO] [stderr] --> src/server.rs:2242:13 [INFO] [stderr] | [INFO] [stderr] 2242 | player.cookie.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: cloning is often expensive and is not expected to have side effects [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 2242 | let _ = player.cookie.clone(); [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Packet`, `RequestAction`, and `ResponseCode` [INFO] [stderr] --> examples/cli-client.rs:40:27 [INFO] [stderr] | [INFO] [stderr] 40 | net::{NetwaysteEvent, RequestAction, Packet, ResponseCode}, [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `netwayste` (bin "server" test) generated 11 warnings (run `cargo fix --bin "server" --tests` to apply 4 suggestions) [INFO] [stderr] warning: `netwayste` (example "cli-client") generated 1 warning (run `cargo fix --example "cli-client"` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/netwayste-04ed8608c16c3d3c) [INFO] [stdout] [INFO] [stdout] running 41 tests [INFO] [stdout] test tests::netwayste_client_tests::handle_incoming_chats_new_messages_are_older ... ok [INFO] [stdout] test tests::netwayste_client_tests::handle_incoming_chats_no_new_chat_messages ... ok [INFO] [stdout] test tests::netwayste_client_tests::handle_incoming_chats_new_messages_are_old_and_new ... ok [INFO] [stdout] test tests::netwayste_client_tests::handle_incoming_chats_client_is_up_to_date ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_max_sequence_number_arrives_after_a_wrap ... ok [INFO] [stdout] test tests::netwayste_client_tests::handle_logged_in_verify_connection_cookie ... ok [INFO] [stdout] test tests::netwayste_client_tests::handle_response_ok_no_request_sent ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_oldest_sequence_number_arrived_last ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_reverse_sequential_then_random_then_reverse_sequential ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_sequential_then_pseudorandom_then_sequential ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_wrap_occurs_with_two_item_queue ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_wrap_occurs_with_two_item_queue_in_reverse ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_wrapping_case_everything_out_of_order ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_wrapping_case_max_arrives_first ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_wrapping_case_sequence_number_alternating ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_advanced_wrapping_case_sequence_number_descending ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_contiguous_ascending ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_contiguous_descending ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_max_queue_limit_maintained ... ignored [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_wrapping_case ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_discard_older_packets_empty_queue ... ignored [INFO] [stdout] test tests::netwayste_net_tests::test_discard_older_packets_equal_to_limit ... ignored [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_random ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_sequencing ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_sequence_number_reused ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_repetition ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_butterfly_pattern ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_sequential_gap_ascending ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_sequential_gap_descending ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_discard_older_packets_exceeds_limit_retains_max ... ignored [INFO] [stdout] test tests::netwayste_net_tests::test_discard_older_packets_under_limit_keeps_all_messages ... ignored [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_queue_is_empty ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_basic_wrapping_case_then_out_of_order ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_retransmit_expired_tx_packets_no_expirations ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_retransmit_expired_tx_packets_aggressive_retries ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_retransmit_expired_tx_packets_basic_retries ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_get_contiguous_packets_count ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_buffer_item_newer_packet_has_smaller_sequence_number ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_reinitialize_all_queues_cleared ... ok [INFO] [stdout] test tests::netwayste_client_tests::handle_incoming_chats_new_messages_player_name_not_set_panics - should panic ... ok [INFO] [stdout] test tests::netwayste_net_tests::test_get_retransmit_indices ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 36 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 2.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/server.rs (/opt/rustwide/target/debug/deps/server-cc08ef8b112dc8d3) [INFO] [stdout] [INFO] [stdout] running 55 tests [INFO] [stdout] test netwayste_server_tests::broadcast_message_to_an_empty_room ... ok [INFO] [stdout] test netwayste_server_tests::add_new_player_player_added_with_initial_sequence_number ... ok [INFO] [stdout] test netwayste_server_tests::collect_unacknowledged_messages_a_rooms_unacknowledged_chat_messages_are_collected_for_their_player ... ok [INFO] [stdout] test netwayste_server_tests::broadcast_message_to_two_players_in_room ... ok [INFO] [stdout] test netwayste_server_tests::construct_client_updates_empty_rooms ... ok [INFO] [stdout] test netwayste_server_tests::construct_client_updates_populated_room_returns_all_messages ... ok [INFO] [stdout] test netwayste_server_tests::construct_client_updates_no_rooms ... ok [INFO] [stdout] test netwayste_server_tests::collect_unacknowledged_messages_an_active_room_which_expired_all_messages_returns_none ... ok [INFO] [stdout] test netwayste_server_tests::create_new_room_good_case ... ok [INFO] [stdout] test netwayste_server_tests::create_new_room_name_is_too_long ... ok [INFO] [stdout] test netwayste_server_tests::construct_client_updates_populated_room_returns_updates_after_client_acked ... ok [INFO] [stdout] test netwayste_server_tests::create_new_room_name_taken ... ok [INFO] [stdout] test netwayste_server_tests::create_new_room_join_room_good_case ... ok [INFO] [stdout] test netwayste_server_tests::create_new_room_player_already_in_room ... ok [INFO] [stdout] test netwayste_server_tests::decode_packet_update_reply_good_case ... ok [INFO] [stdout] test netwayste_server_tests::decode_packet_update_reply_invalid_cookie ... ok [INFO] [stdout] test netwayste_server_tests::disconnect_while_in_room_removes_all_traces_of_player ... ok [INFO] [stdout] test netwayste_server_tests::disconnect_get_player_by_cookie_fails ... ok [INFO] [stdout] test netwayste_server_tests::expire_old_messages_in_all_rooms_one_room_good_case ... ok [INFO] [stdout] test netwayste_server_tests::expire_old_messages_in_all_rooms_room_is_empty ... ok [INFO] [stdout] test netwayste_server_tests::get_message_skip_count_player_acked_messages_are_not_included_in_skip_count_wrapped_case ... ok [INFO] [stdout] test netwayste_server_tests::get_confirmed_chat_seq_num_server_tracks_players_chat_updates ... ok [INFO] [stdout] test netwayste_server_tests::handle_chat_message_player_not_in_game ... ok [INFO] [stdout] test netwayste_server_tests::handle_chat_message_player_in_game_many_messages ... ok [INFO] [stdout] test netwayste_server_tests::has_chatted_player_did_not_chat_on_join ... ok [INFO] [stdout] test netwayste_server_tests::handle_chat_message_player_in_game_one_message ... ok [INFO] [stdout] test netwayste_server_tests::handle_new_connection_player_name_taken ... ok [INFO] [stdout] test netwayste_server_tests::expire_old_messages_in_all_rooms_several_rooms_old_messages_are_wiped ... ok [INFO] [stdout] test netwayste_server_tests::get_message_skip_count_player_acked_messages_are_not_included_in_skip_count ... ok [INFO] [stdout] test netwayste_server_tests::expire_old_messages_in_all_rooms_one_room_old_messages_are_wiped ... ok [INFO] [stdout] test netwayste_server_tests::expire_old_messages_in_all_rooms_several_rooms_good_case ... ok [INFO] [stdout] test netwayste_server_tests::list_players_player_shows_up_in_player_list ... ok [INFO] [stdout] test netwayste_server_tests::prepare_response_spot_check_response_packet ... ok [INFO] [stdout] test netwayste_server_tests::is_unique_player_name_yes_and_no_case ... ok [INFO] [stdout] test netwayste_server_tests::join_room_player_already_in_room ... ok [INFO] [stdout] test netwayste_server_tests::leave_room_good_case ... ok [INFO] [stdout] test netwayste_server_tests::process_request_action_connect_while_connected ... ok [INFO] [stdout] test netwayste_server_tests::leave_room_player_not_in_room ... ok [INFO] [stdout] test netwayste_server_tests::handle_new_connection_good_case ... ok [INFO] [stdout] test netwayste_server_tests::join_room_room_does_not_exist ... ok [INFO] [stdout] test netwayste_server_tests::process_request_action_none_is_invalid ... ok [INFO] [stdout] test netwayste_server_tests::leave_room_unregistered_player_id ... ok [INFO] [stdout] test netwayste_server_tests::test_process_queued_rx_packets_contiguous ... ok [INFO] [stdout] test netwayste_server_tests::test_is_previously_processed_packet ... ok [INFO] [stdout] test netwayste_server_tests::test_clear_transmission_queue_on_ack ... ok [INFO] [stdout] test netwayste_server_tests::test_process_queued_rx_packets_first_non_connect_player_packet ... ok [INFO] [stdout] test netwayste_server_tests::test_process_queued_rx_packets_swiss_cheese_queue ... ok [INFO] [stdout] test netwayste_server_tests::test_resend_expired_tx_packets ... ok [INFO] [stdout] test netwayste_server_tests::process_request_action_simple ... ok [INFO] [stdout] test netwayste_server_tests::validate_client_version_client_is_from_the_future ... ok [INFO] [stdout] test netwayste_server_tests::test_resend_expired_tx_packets_empty_server ... ok [INFO] [stdout] test netwayste_server_tests::validate_client_version_client_is_up_to_date ... ok [INFO] [stdout] test netwayste_server_tests::validate_client_version_client_is_very_old ... ok [INFO] [stdout] test netwayste_server_tests::process_request_action_complex ... ok [INFO] [stdout] test netwayste_server_tests::disconnect_get_player_by_id_fails - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Doc-tests netwayste [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "74973c436db9780356a12bfdafbcf86b58bd70a0a745a73c442f937ad786d7c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74973c436db9780356a12bfdafbcf86b58bd70a0a745a73c442f937ad786d7c4", kill_on_drop: false }` [INFO] [stdout] 74973c436db9780356a12bfdafbcf86b58bd70a0a745a73c442f937ad786d7c4